Re: [Biopython] Generative AI policy for contributions to Biopython
Hilmar Lapp <[email protected]> Thu, 2 Jul 2026 10:42:14 -0400
| Newsgroups | gmane.comp.python.bio.general |
|---|---|
| Message-ID | <[email protected]> |
--===============5312637762412957122== Content-Type: multipart/alternative; boundary="Apple-Mail=_9A2469E0-425B-4CD8-8F14-5E364AE68835" --Apple-Mail=_9A2469E0-425B-4CD8-8F14-5E364AE68835 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 I left one comment. As a more general comment, a No AI policy as is here will require most = if not all future contributors to do their Biopython development under = an environment entirely disconnected and divergent from what they would = be using for anything else they do professionally. (I don=E2=80=99t = think there=E2=80=99ll be any company or even academic lab in the future = that can afford not to *require* their software developers to use = AI-assisted coding. This is already the case in the teams I=E2=80=99m = involved in, and they are all academic.) So this will be an interesting experiment in whether and how AI-assisted = coding policies affect sustainability and viability of projects. -hilmar > On Jul 2, 2026, at 8:02=E2=80=AFAM, Peter Cock = <[email protected]> wrote: >=20 > One typo fix later, that's no longer a draft policy - but it is > waiting on some approval reviews from others with commit permissions > please. >=20 > Peter >=20 > On Mon, Jun 22, 2026 at 9:56=E2=80=AFAM Peter Cock = <[email protected]> wrote: >>=20 >> Feedback welcomed on this new draft PR for an explicit no-AI policy: >>=20 >> https://github.com/biopython/biopython/pull/5241 >>=20 >> I had one interesting comment over the weekend on Mastodon where I >> asked about the AGENTS file text and if it was too whimsical (humour >> is even harder with an international audience): >>=20 >> https://fediscience.org/@pjacock/116782003665914065 >>=20 >> https://illuminant.asjo.org/user/asjo/object/156156 >>=20 >>> I fear it is too whimsical. >>>=20 >>> It will be appreciated by people who tend to agree, and those who >>> don't - for whom the message is - will read it as their belief being >>> ridiculed in an unserious manner. >>>=20 >>> It is a fun idea, though :-) >>=20 >> Peter >>=20 >> On Sat, Jun 6, 2026 at 10:13=E2=80=AFAM Peter Cock = <[email protected]> wrote: >>>=20 >>> Assuming no objections I'm planning to merge >>> https://github.com/biopython/biopython/pull/5229 >>> on Monday (a week for comment seems fine). >>>=20 >>> Then on to the broader AI policy... >>>=20 >>> Thanks, >>>=20 >>> Peter >>>=20 >>>=20 >>> On Mon, Jun 1, 2026 at 7:31=E2=80=AFAM Peter Cock = <[email protected]> wrote: >>>>=20 >>>> I'm proposing some text in the CONTRIBUTING file to spell this out >>>> this point explicitly: >>>>=20 >>>> https://github.com/biopython/biopython/pull/5229 >>>>=20 >>>> Suggested changes welcome, ideally on that PR please. >>>>=20 >>>> I will probably follow that with a draft PR for a general no-AI = stance. >>>>=20 >>>> Going back to the start of this thread, I wrote (spelling fixed): >>>>=20 >>>> = https://mailman.open-bio.org/pipermail/biopython/2026-April/017113.html >>>>=20 >>>>> Would anyone like to speak in defense of accepting AI (assisted) = PRs, >>>>> and suggest an existing policy you would be happy we adopt or base >>>>> ours on? >>>>=20 >>>> Would anyone want to draft a more moderate policy with limited AI = use? >>>>=20 >>>> Thank you, >>>>=20 >>>> Peter >>>>=20 >>>> On Mon, Jun 1, 2026 at 3:09=E2=80=AFPM Peter Cock = <[email protected]> wrote: >>>>>=20 >>>>> This is a real issue - I added that tag to an old issue and with a >>>>> week it had two likely AI generated PRs: >>>>> https://github.com/biopython/biopython/issues/2116 >>>>>=20 >>>>> Peter >>>>>=20 >>>>> On Fri, Apr 24, 2026 at 7:26=E2=80=AFPM Peter Cock = <[email protected]> wrote: >>>>>>=20 >>>>>> I just posted this on Mastodon (neither I nor Biopython or the = OBF use X/Twitter >>>>>> anymore): >>>>>>=20 >>>>>> https://fediscience.org/@pjacock/116143426085553346 >>>>>>=20 >>>>>> And that reminded me of an earlier remark I made: >>>>>>=20 >>>>>>> Seems the recent #GenerativeAI #slop pull requests that I've = looked at for >>>>>>> #Biopython have preferentially targeted the "Good First Issues". = We really >>>>>>> wanted those to be onboarding ramps for new #OpenSource = contributors - >>>>>>> and not for padding anyone's GitHub profile or whatever the = motivation here is. >>>>>>>=20 >>>>>>> So I think any formal policy will want to say explicitly #NoAI = on those issues >>>>>>> at the very least. >>>>>>=20 >>>>>> https://fediscience.org/@pjacock/116161804363016972 >>>>>>=20 >>>>>> Peter >>>>>>=20 >>>>>> On Fri, Apr 24, 2026 at 11:16=E2=80=AFAM Peter Cock = <[email protected]> wrote: >>>>>>>=20 >>>>>>> Dear Biopythoneers, >>>>>>>=20 >>>>>>> We need to set out a generative AI policy for contributions to = Biopython. >>>>>>>=20 >>>>>>> There are now multiple recent PRs submitted by new contributors = which >>>>>>> are openly using AI tools, more that I suspect are, and now even = AI assisted >>>>>>> PRs from past contributors (where CV padding or other external = metrics >>>>>>> are unlikely to be driving this). These are generally more work = to review >>>>>>> than human written PRs, and that is a growing issue. >>>>>>>=20 >>>>>>> I blogged about my views late last year - ending in the line = "Right now, I >>>>>>> still lean very much to saying no any PR using generative AI". >>>>>>>=20 >>>>>>> = https://blastedbio.blogspot.com/2025/11/thoughts-on-generative-ai-contribu= tions.html >>>>>>>=20 >>>>>>> Things will change (both tool capabilities, but also the social = and legal >>>>>>> interpetations) but that post still describes my views today - = note I did >>>>>>> not touch on the topic of communications there (see below). >>>>>>>=20 >>>>>>> Recently Linux adopted what has been described as a balanced = stance >>>>>>> treating it as a tool with very clear expectations that usage = MUST be declared >>>>>>> and that the human submitter is responsible for (quoting these = four points): >>>>>>>=20 >>>>>>> * Reviewing all AI-generated code >>>>>>> * Ensuring compliance with licensing requirements >>>>>>> * Adding their own Signed-off-by tag to certify the DCO >>>>>>> * Taking full responsibility for the contribution >>>>>>>=20 >>>>>>> https://docs.kernel.org/process/coding-assistants.html >>>>>>>=20 >>>>>>> That is pragmatic but ignores the legal and ethical minefield. = We don't >>>>>>> have a Developer Certificate of Origin (DCO), but I think the = other >>>>>>> points are a bare minimum for any Biopython policy. >>>>>>>=20 >>>>>>> Most of my personal open source projects have only had a very = small >>>>>>> number of contributors, and I am comfortable with outright = rejecting >>>>>>> generative AI. I know some of the past/current Biopython = contributors >>>>>>> are more willing to embrace this technology though - so I doubt = support >>>>>>> for a simple ban would be unanimous. >>>>>>>=20 >>>>>>> Speaking for a moment as the current Open Bioinformatics = Foundation >>>>>>> president, the board has discussed this and agreed not to try to = micro >>>>>>> manage the member projects. For reference, BioPerl have started >>>>>>> https://github.com/bioperl/bioperl-live/issues/407 which has = some >>>>>>> excellent points and examples to consider. >>>>>>>=20 >>>>>>> In particular, this is not just a code or documentation changes = issue - but >>>>>>> also about the communication around any proposed change: the = nature >>>>>>> of the commit messages, pull request description, and = discussion. This >>>>>>> ties into the maintainers' burden - many of our recent AI = generated PRs >>>>>>> have fairy short code changes but the verbose text is exhausting = to read >>>>>>> and unhelpful. It has sometimes felt like I have been talking to = an AI agent >>>>>>> rather than a human - I actually liked the feeling of mentoring = a new >>>>>>> contributor and guiding them through minor hurdles to getting = their >>>>>>> change accepted, but you lose that with an AI agent inbetween = you. >>>>>>>=20 >>>>>>> I therefore very much like this line from the curreth Codeberg = policy: >>>>>>>=20 >>>>>>>> All communication, that includes: commit messages, pull request >>>>>>>> messages, documentation, code comments and issues (and >>>>>>>> comments on issues/pull requests), that is intended to be read >>>>>>>> by people to understand your thoughts and work must not have >>>>>>>> been generated with AI. We exclude machine translation and >>>>>>>> tooling that helps with grammar and spelling check. >>>>>>>=20 >>>>>>> = https://codeberg.org/comaps/Governance/src/branch/main/AI_USAGE.md >>>>>>>=20 >>>>>>> Would anyone like to speak in defence of accepting AI (assisted) = PRs, >>>>>>> and suggest an existing policy you would be happy we adopt or = base >>>>>>> ours on? >>>>>>>=20 >>>>>>> Or should I start drafting a more draconian but likely much = shorter one - >>>>>>> a few lines like this in the CONTRIBUTING file and/or PR = template: No >>>>>>> generative AI to be used in any Biopython contributions, with = the exception >>>>>>> of machine translation to/from English (where you might consider = including >>>>>>> your original language text as well). >>>>>>>=20 >>>>>>> Thank you, >>>>>>>=20 >>>>>>> Peter > _______________________________________________ > Biopython mailing list - [email protected] > https://mailman.open-bio.org/mailman/listinfo/biopython --=20 Hilmar Lapp -:- lappland.io --Apple-Mail=_9A2469E0-425B-4CD8-8F14-5E364AE68835 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 <html aria-label=3D"message body"><head><meta http-equiv=3D"content-type" = content=3D"text/html; charset=3Dutf-8"></head><body = style=3D"overflow-wrap: break-word; -webkit-nbsp-mode: space; = line-break: after-white-space;">I left one = comment.<div><br></div><div>As a more general comment, a No AI policy as = is here will require most if not all future contributors to do their = Biopython development under an environment entirely disconnected and = divergent from what they would be using for anything else they do = professionally. (I don=E2=80=99t think there=E2=80=99ll be any company = or even academic lab in the future that can afford not to *require* = their software developers to use AI-assisted coding. This is already the = case in the teams I=E2=80=99m involved in, and they are all = academic.)</div><div><br></div><div>So this will be an interesting = experiment in whether and how AI-assisted coding policies affect = sustainability and viability of = projects.</div><div><br></div><div> -hilmar</div><div><div><br><block= quote type=3D"cite"><div>On Jul 2, 2026, at 8:02=E2=80=AFAM, Peter Cock = <[email protected]> wrote:</div><br = class=3D"Apple-interchange-newline"><div><div>One typo fix later, that's = no longer a draft policy - but it is<br>waiting on some approval reviews = from others with commit permissions<br>please.<br><br>Peter<br><br>On = Mon, Jun 22, 2026 at 9:56=E2=80=AFAM Peter Cock = <[email protected]> wrote:<br><blockquote = type=3D"cite"><br>Feedback welcomed on this new draft PR for an explicit = no-AI = policy:<br><br>https://github.com/biopython/biopython/pull/5241<br><br>I = had one interesting comment over the weekend on Mastodon where = I<br>asked about the AGENTS file text and if it was too whimsical = (humour<br>is even harder with an international = audience):<br><br>https://fediscience.org/@pjacock/116782003665914065<br><= br>https://illuminant.asjo.org/user/asjo/object/156156<br><br><blockquote = type=3D"cite">I fear it is too whimsical.<br><br>It will be appreciated = by people who tend to agree, and those who<br>don't - for whom the = message is - will read it as their belief being<br>ridiculed in an = unserious manner.<br><br>It is a fun idea, though = :-)<br></blockquote><br>Peter<br><br>On Sat, Jun 6, 2026 at 10:13=E2=80=AF= AM Peter Cock <[email protected]> wrote:<br><blockquote = type=3D"cite"><br>Assuming no objections I'm planning to = merge<br>https://github.com/biopython/biopython/pull/5229<br>on Monday = (a week for comment seems fine).<br><br>Then on to the broader AI = policy...<br><br>Thanks,<br><br>Peter<br><br><br>On Mon, Jun 1, 2026 at = 7:31=E2=80=AFAM Peter Cock <[email protected]> = wrote:<br><blockquote type=3D"cite"><br>I'm proposing some text in the = CONTRIBUTING file to spell this out<br>this point = explicitly:<br><br>https://github.com/biopython/biopython/pull/5229<br><br= >Suggested changes welcome, ideally on that PR please.<br><br>I will = probably follow that with a draft PR for a general no-AI = stance.<br><br>Going back to the start of this thread, I wrote (spelling = fixed):<br><br>https://mailman.open-bio.org/pipermail/biopython/2026-April= /017113.html<br><br><blockquote type=3D"cite">Would anyone like to speak = in defense of accepting AI (assisted) PRs,<br>and suggest an existing = policy you would be happy we adopt or base<br>ours = on?<br></blockquote><br>Would anyone want to draft a more moderate = policy with limited AI use?<br><br>Thank you,<br><br>Peter<br><br>On = Mon, Jun 1, 2026 at 3:09=E2=80=AFPM Peter Cock = <[email protected]> wrote:<br><blockquote = type=3D"cite"><br>This is a real issue - I added that tag to an old = issue and with a<br>week it had two likely AI generated = PRs:<br>https://github.com/biopython/biopython/issues/2116<br><br>Peter<br= ><br>On Fri, Apr 24, 2026 at 7:26=E2=80=AFPM Peter Cock = <[email protected]> wrote:<br><blockquote = type=3D"cite"><br>I just posted this on Mastodon (neither I nor = Biopython or the OBF use = X/Twitter<br>anymore):<br><br>https://fediscience.org/@pjacock/11614342608= 5553346<br><br>And that reminded me of an earlier remark I = made:<br><br><blockquote type=3D"cite">Seems the recent #GenerativeAI = #slop pull requests that I've looked at for<br>#Biopython have = preferentially targeted the "Good First Issues". We really<br>wanted = those to be onboarding ramps for new #OpenSource contributors -<br>and = not for padding anyone's GitHub profile or whatever the motivation here = is.<br><br>So I think any formal policy will want to say explicitly = #NoAI on those issues<br>at the very = least.<br></blockquote><br>https://fediscience.org/@pjacock/11616180436301= 6972<br><br>Peter<br><br>On Fri, Apr 24, 2026 at 11:16=E2=80=AFAM Peter = Cock <[email protected]> wrote:<br><blockquote = type=3D"cite"><br>Dear Biopythoneers,<br><br>We need to set out a = generative AI policy for contributions to Biopython.<br><br>There are = now multiple recent PRs submitted by new contributors which<br>are = openly using AI tools, more that I suspect are, and now even AI = assisted<br>PRs from past contributors (where CV padding or other = external metrics<br>are unlikely to be driving this). These are = generally more work to review<br>than human written PRs, and that is a = growing issue.<br><br>I blogged about my views late last year - ending = in the line "Right now, I<br>still lean very much to saying no any PR = using generative = AI".<br><br>https://blastedbio.blogspot.com/2025/11/thoughts-on-generative= -ai-contributions.html<br><br>Things will change (both tool = capabilities, but also the social and legal<br>interpetations) but that = post still describes my views today - note I did<br>not touch on the = topic of communications there (see below).<br><br>Recently Linux adopted = what has been described as a balanced stance<br>treating it as a tool = with very clear expectations that usage MUST be declared<br>and that the = human submitter is responsible for (quoting these four points):<br><br>* = Reviewing all AI-generated code<br>* Ensuring compliance with licensing = requirements<br>* Adding their own Signed-off-by tag to certify the = DCO<br>* Taking full responsibility for the = contribution<br><br>https://docs.kernel.org/process/coding-assistants.html= <br><br>That is pragmatic but ignores the legal and ethical minefield. = We don't<br>have a Developer Certificate of Origin (DCO), but I think = the other<br>points are a bare minimum for any Biopython = policy.<br><br>Most of my personal open source projects have only had a = very small<br>number of contributors, and I am comfortable with outright = rejecting<br>generative AI. I know some of the past/current Biopython = contributors<br>are more willing to embrace this technology though - so = I doubt support<br>for a simple ban would be unanimous.<br><br>Speaking = for a moment as the current Open Bioinformatics Foundation<br>president, = the board has discussed this and agreed not to try to micro<br>manage = the member projects. For reference, BioPerl have = started<br>https://github.com/bioperl/bioperl-live/issues/407 which has = some<br>excellent points and examples to consider.<br><br>In particular, = this is not just a code or documentation changes issue - but<br>also = about the communication around any proposed change: the nature<br>of the = commit messages, pull request description, and discussion. This<br>ties = into the maintainers' burden - many of our recent AI generated = PRs<br>have fairy short code changes but the verbose text is exhausting = to read<br>and unhelpful. It has sometimes felt like I have been talking = to an AI agent<br>rather than a human - I actually liked the feeling of = mentoring a new<br>contributor and guiding them through minor hurdles to = getting their<br>change accepted, but you lose that with an AI agent = inbetween you.<br><br>I therefore very much like this line from the = curreth Codeberg policy:<br><br><blockquote type=3D"cite">All = communication, that includes: commit messages, pull request<br>messages, = documentation, code comments and issues (and<br>comments on issues/pull = requests), that is intended to be read<br>by people to understand your = thoughts and work must not have<br>been generated with AI. We exclude = machine translation and<br>tooling that helps with grammar and spelling = check.<br></blockquote><br>https://codeberg.org/comaps/Governance/src/bran= ch/main/AI_USAGE.md<br><br>Would anyone like to speak in defence of = accepting AI (assisted) PRs,<br>and suggest an existing policy you would = be happy we adopt or base<br>ours on?<br><br>Or should I start drafting = a more draconian but likely much shorter one -<br>a few lines like this = in the CONTRIBUTING file and/or PR template: No<br>generative AI to be = used in any Biopython contributions, with the exception<br>of machine = translation to/from English (where you might consider including<br>your = original language text as well).<br><br>Thank = you,<br><br>Peter<br></blockquote></blockquote></blockquote></blockquote><= /blockquote></blockquote>_______________________________________________<b= r>Biopython mailing list - = [email protected]<br>https://mailman.open-bio.org/mailman/list= info/biopython<br></div></div></blockquote></div><br><div> <div><div style=3D"font-family: Monaco; font-size: 11px; orphans: 2; = widows: 2;">-- </div><div style=3D"font-family: Monaco; font-size: = 11px; orphans: 2; widows: 2;">Hilmar Lapp = -:- lappland.io</div></div><div><br></div><br = class=3D"Apple-interchange-newline"> </div> <br></div></body></html>= --Apple-Mail=_9A2469E0-425B-4CD8-8F14-5E364AE68835-- --===============5312637762412957122== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Biopython mailing list - [email protected] https://mailman.open-bio.org/mailman/listinfo/biopython --===============5312637762412957122==--