From 9a0375c9f6c39bebdfce0b50ff2adbdbad7c355b Mon Sep 17 00:00:00 2001 From: Ilan Gold Date: Wed, 29 Apr 2026 21:51:34 +0200 Subject: [PATCH 1/3] feat: ai policy for scverse code submission --- content/about/code_of_conduct/_index.md | 40 +++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/content/about/code_of_conduct/_index.md b/content/about/code_of_conduct/_index.md index f4d7628..b4c5219 100644 --- a/content/about/code_of_conduct/_index.md +++ b/content/about/code_of_conduct/_index.md @@ -36,3 +36,43 @@ The group is making decisions independently from the project, PyData, NumFOCUS o You can learn more about the current group members, as well as the reporting procedure on the [NumFOCUS Code of Conduct][] page. [NumFOCUS Code of Conduct]: https://numfocus.org/code-of-conduct + + +# scverse AI Policy + +## Overview + +scverse encourages its users to get involved with the development process, and if a user wishes to write code AI-assisted, that is also great! +We encourage our users to do what is comfortable for them. +However, since AI-assisted coding has led many open source projects to experience a massive increase in low-quality code submissions, we want to clarify our position in this document. + +## Submitting AI-generated code + +Once you have written that code, and you would like to contribute it to scanpy, squidpy, anndata etc., a human must review it. +Our job is thus not only to secure the project (i.e., prevent bitcoin mining or other malicious code), but also to make sure it is maintainable in the longer term i.e., do we understand what is written and do we think it will be easy for others to understand should any of us be replaced or leave? +AI often writes bloated and overly verbose comments, code, and tests. +We try to ensure that every line of code has meaning and is necessary, and with AI-generated code, that is less often the case. +When we look at a line of code two years down the line, it helps greatly if that line has clear context, semantically-meaningful variable names, and is concise. + +Time is always a limited resource. +Every hour we spend reviewing submitted code, we are not writing code ourselves. +Therefore, we request that users be respectful of our time and ask themselves, "Would you want to review this PR?" +Generally, whether AI touched the PR or not, it should present your best attempt to improve a publicly shared resource with clean, thoughtful code and concise and accurate PR descriptions. +If you are unsure about something, that’s fine – help us clean up code that you don’t fully understand by drawing our attention to it with a review or code comment, and clearly mark which parts of your PR comments are just speculation or AI output. +We are also mindful that coders come to our projects at all levels, and we hope that, in the process of our review, you will learn our best practices. +From our side, you can expect us to be patient as you learn. +However, this process fundamentally does not take place when you feed an LLM our hand-crafted PR reviews. +As a general rule of thumb, it should not take a human longer to review the code than it does for you to write it. + +You are responsible for the code you submit. This also includes the licensing of the submitted code. + +## Repeated submission of low-quality code + +You might say that a user can submit bad code repeatedly without an LLM, which is true. +Indeed, if you were to submit a PR every 5 minutes that added “sadlkjfalsdjkfhasf” to all of our docs, that would also be bad. +But an LLM can submit a PR every 5 minutes that looks reasonable and thus isn't easy to detect as spam. +As stated previously, we do not review code only to improve what makes it into our repo; we also review to improve your ability to code, if you may need that. + +We thus reserve the right to call out any PR we believe violates this policy with a warning. + +As the legal and practical ramifications of the to-date nascent application of generative AI in coding emerge, we reserve the right to update this document. From fc3771327cdfcbb31228861b1f08fa4898853f94 Mon Sep 17 00:00:00 2001 From: ilan-gold Date: Thu, 30 Apr 2026 10:41:35 +0200 Subject: [PATCH 2/3] fix: move to own page --- content/about/ai_policy/_index.md | 43 +++++++++++++++++++++++++ content/about/code_of_conduct/_index.md | 42 +----------------------- layouts/partials/footer.html | 1 + layouts/partials/header.html | 3 ++ 4 files changed, 48 insertions(+), 41 deletions(-) create mode 100644 content/about/ai_policy/_index.md diff --git a/content/about/ai_policy/_index.md b/content/about/ai_policy/_index.md new file mode 100644 index 0000000..a55dc61 --- /dev/null +++ b/content/about/ai_policy/_index.md @@ -0,0 +1,43 @@ ++++ +title = "AI Policy" ++++ + + +# scverse AI Policy + +## Overview + +scverse encourages its users to get involved with the development process, and if a user wishes to write code AI-assisted, that is also great! +We encourage our users to do what is comfortable for them. +However, since AI-assisted coding has led many open source projects to experience a massive increase in low-quality code submissions, we want to clarify our position in this document. + +## Submitting AI-generated code + +Once you have written that code, and you would like to contribute it to scanpy, squidpy, anndata etc., a human must review it. +Our job is thus not only to secure the project (i.e., prevent bitcoin mining or other malicious code), but also to make sure it is maintainable in the longer term i.e., do we understand what is written and do we think it will be easy for others to understand should any of us be replaced or leave? +AI often writes bloated and overly verbose comments, code, and tests. +We try to ensure that every line of code has meaning and is necessary, and with AI-generated code, that is less often the case. +When we look at a line of code two years down the line, it helps greatly if that line has clear context, semantically-meaningful variable names, and is concise. + +Time is always a limited resource. +Every hour we spend reviewing submitted code, we are not writing code ourselves. +Therefore, we request that users be respectful of our time and ask themselves, "Would you want to review this PR?" +Generally, whether AI touched the PR or not, it should present your best attempt to improve a publicly shared resource with clean, thoughtful code and concise and accurate PR descriptions. +If you are unsure about something, that’s fine – help us clean up code that you don’t fully understand by drawing our attention to it with a review or code comment, and clearly mark which parts of your PR comments are just speculation or AI output. +We are also mindful that coders come to our projects at all levels, and we hope that, in the process of our review, you will learn our best practices. +From our side, you can expect us to be patient as you learn. +However, this process fundamentally does not take place when you feed an LLM our hand-crafted PR reviews. +As a general rule of thumb, it should not take a human longer to review the code than it does for you to write it. + +You are responsible for the code you submit. This also includes the licensing of the submitted code. + +## Repeated submission of low-quality code + +You might say that a user can submit bad code repeatedly without an LLM, which is true. +Indeed, if you were to submit a PR every 5 minutes that added “sadlkjfalsdjkfhasf” to all of our docs, that would also be bad. +But an LLM can submit a PR every 5 minutes that looks reasonable and thus isn't easy to detect as spam. +As stated previously, we do not review code only to improve what makes it into our repo; we also review to improve your ability to code, if you may need that. + +We thus reserve the right to call out any PR we believe violates this policy with a warning. + +As the legal and practical ramifications of the to-date nascent application of generative AI in coding emerge, we reserve the right to update this document. \ No newline at end of file diff --git a/content/about/code_of_conduct/_index.md b/content/about/code_of_conduct/_index.md index b4c5219..5f6b458 100644 --- a/content/about/code_of_conduct/_index.md +++ b/content/about/code_of_conduct/_index.md @@ -35,44 +35,4 @@ The group is making decisions independently from the project, PyData, NumFOCUS o You can learn more about the current group members, as well as the reporting procedure on the [NumFOCUS Code of Conduct][] page. -[NumFOCUS Code of Conduct]: https://numfocus.org/code-of-conduct - - -# scverse AI Policy - -## Overview - -scverse encourages its users to get involved with the development process, and if a user wishes to write code AI-assisted, that is also great! -We encourage our users to do what is comfortable for them. -However, since AI-assisted coding has led many open source projects to experience a massive increase in low-quality code submissions, we want to clarify our position in this document. - -## Submitting AI-generated code - -Once you have written that code, and you would like to contribute it to scanpy, squidpy, anndata etc., a human must review it. -Our job is thus not only to secure the project (i.e., prevent bitcoin mining or other malicious code), but also to make sure it is maintainable in the longer term i.e., do we understand what is written and do we think it will be easy for others to understand should any of us be replaced or leave? -AI often writes bloated and overly verbose comments, code, and tests. -We try to ensure that every line of code has meaning and is necessary, and with AI-generated code, that is less often the case. -When we look at a line of code two years down the line, it helps greatly if that line has clear context, semantically-meaningful variable names, and is concise. - -Time is always a limited resource. -Every hour we spend reviewing submitted code, we are not writing code ourselves. -Therefore, we request that users be respectful of our time and ask themselves, "Would you want to review this PR?" -Generally, whether AI touched the PR or not, it should present your best attempt to improve a publicly shared resource with clean, thoughtful code and concise and accurate PR descriptions. -If you are unsure about something, that’s fine – help us clean up code that you don’t fully understand by drawing our attention to it with a review or code comment, and clearly mark which parts of your PR comments are just speculation or AI output. -We are also mindful that coders come to our projects at all levels, and we hope that, in the process of our review, you will learn our best practices. -From our side, you can expect us to be patient as you learn. -However, this process fundamentally does not take place when you feed an LLM our hand-crafted PR reviews. -As a general rule of thumb, it should not take a human longer to review the code than it does for you to write it. - -You are responsible for the code you submit. This also includes the licensing of the submitted code. - -## Repeated submission of low-quality code - -You might say that a user can submit bad code repeatedly without an LLM, which is true. -Indeed, if you were to submit a PR every 5 minutes that added “sadlkjfalsdjkfhasf” to all of our docs, that would also be bad. -But an LLM can submit a PR every 5 minutes that looks reasonable and thus isn't easy to detect as spam. -As stated previously, we do not review code only to improve what makes it into our repo; we also review to improve your ability to code, if you may need that. - -We thus reserve the right to call out any PR we believe violates this policy with a warning. - -As the legal and practical ramifications of the to-date nascent application of generative AI in coding emerge, we reserve the right to update this document. +[NumFOCUS Code of Conduct]: https://numfocus.org/code-of-conduct \ No newline at end of file diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 803d879..67eedde 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -18,6 +18,7 @@
Governance
diff --git a/layouts/partials/header.html b/layouts/partials/header.html index b4dfa6a..4ac6cf8 100644 --- a/layouts/partials/header.html +++ b/layouts/partials/header.html @@ -103,6 +103,9 @@
  • Code of Conduct
  • +
  • + AI Policy +
  • Media kit
  • From 6e84e71292c76fa1171532b49bc0badd118edf7f Mon Sep 17 00:00:00 2001 From: ilan-gold Date: Thu, 30 Apr 2026 10:43:12 +0200 Subject: [PATCH 3/3] fix: header --- content/about/ai_policy/_index.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/content/about/ai_policy/_index.md b/content/about/ai_policy/_index.md index a55dc61..174551b 100644 --- a/content/about/ai_policy/_index.md +++ b/content/about/ai_policy/_index.md @@ -2,9 +2,6 @@ title = "AI Policy" +++ - -# scverse AI Policy - ## Overview scverse encourages its users to get involved with the development process, and if a user wishes to write code AI-assisted, that is also great!