From 550d1a9e985f93463459245a9e1e8c474d44e3b1 Mon Sep 17 00:00:00 2001 From: Adam Tyson Date: Fri, 5 Dec 2025 11:31:50 +0000 Subject: [PATCH 1/9] Start AI policy --- docs/source/get-involved/ai_policy.md | 11 +++++++++++ docs/source/get-involved/development_guidelines.md | 3 ++- docs/source/get-involved/index.md | 7 ++++++- 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 docs/source/get-involved/ai_policy.md diff --git a/docs/source/get-involved/ai_policy.md b/docs/source/get-involved/ai_policy.md new file mode 100644 index 00000000..ed2aa290 --- /dev/null +++ b/docs/source/get-involved/ai_policy.md @@ -0,0 +1,11 @@ +# NIU policy on contributions using AI + +Generative AI tools have developed quickly in the last few years, and have changed how many people write code. General +purpose tools such as [ChatGPT](https://chatgpt.com/) or specific code development tools such as +[Cursor](https://cursor.com/) now mean software development is quicker and more accessible than ever before. We only +expect these developments to continue, and AI agents to play a crucial role in the way that we create software. + +Many members of the NIU use AI in their workflows, as do many of our collaborators. We are also fortunate to have a +large community of contributors to our tools. However, many potential contributions are low-quality and either require +lots of work to get them into shape, or simply need to be rejected immediately as they do not solve the problem at hand. +In many cases, these contributions appear to be mostly, or entirely, AI generated. \ No newline at end of file diff --git a/docs/source/get-involved/development_guidelines.md b/docs/source/get-involved/development_guidelines.md index f68cc3c5..1db6c9b2 100644 --- a/docs/source/get-involved/development_guidelines.md +++ b/docs/source/get-involved/development_guidelines.md @@ -1,7 +1,8 @@ # General development guidelines All our software is built as a team, and this means we must agree on some development conventions. This page -covers our internal development guidelines, which we hope are also useful to external contributors. +covers our internal development guidelines, which we hope are also useful to external contributors. If you are a new +contributor, please also see our [policy on AI contributions](ai_policy). ## General principles diff --git a/docs/source/get-involved/index.md b/docs/source/get-involved/index.md index 632087ed..8afb8482 100644 --- a/docs/source/get-involved/index.md +++ b/docs/source/get-involved/index.md @@ -10,8 +10,12 @@ contributions go through a review process to make sure that they are necessary, but it can be _complicated_. For this reason we have written some documents to outline the processes we use, so hopefully they aren't so opaque. +These include our [general development guidelines](development_guidelines) and +[guidelines for specific languages and frameworks](languages_frameworks). + We are also happy to guide new contributors through the process. For more details please see -[our documentation about mentored open source contributions](mentoring). +[our documentation about mentored open source contributions](mentoring). Please also see our +[policy on AI contributions](ai_policy). ## Internships We offer a number of paid internships each year, through established programs such as @@ -30,6 +34,7 @@ please email Adam Tyso :maxdepth: 1 development_guidelines languages_frameworks +ai_policy mentoring gsoc/index ``` From e9ab880156965daf302fc5e1dbf7df264d8873a7 Mon Sep 17 00:00:00 2001 From: Adam Tyson Date: Fri, 5 Dec 2025 11:42:30 +0000 Subject: [PATCH 2/9] Add comms policy --- docs/source/get-involved/ai_policy.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/docs/source/get-involved/ai_policy.md b/docs/source/get-involved/ai_policy.md index ed2aa290..c72cd231 100644 --- a/docs/source/get-involved/ai_policy.md +++ b/docs/source/get-involved/ai_policy.md @@ -1,5 +1,6 @@ # NIU policy on contributions using AI +## Introduction Generative AI tools have developed quickly in the last few years, and have changed how many people write code. General purpose tools such as [ChatGPT](https://chatgpt.com/) or specific code development tools such as [Cursor](https://cursor.com/) now mean software development is quicker and more accessible than ever before. We only @@ -8,4 +9,25 @@ expect these developments to continue, and AI agents to play a crucial role in t Many members of the NIU use AI in their workflows, as do many of our collaborators. We are also fortunate to have a large community of contributors to our tools. However, many potential contributions are low-quality and either require lots of work to get them into shape, or simply need to be rejected immediately as they do not solve the problem at hand. -In many cases, these contributions appear to be mostly, or entirely, AI generated. \ No newline at end of file +In many cases, these contributions appear to be mostly, or entirely, AI generated. + +## Code contributions +It can be very difficult to contribute to an open-source repository for the first time, and we are always happy to +provide assistance to anyone trying to learn. However, it is our policy that **we will not review any code contribution +that is, or appears to be, mostly written by AI tools**. These contributions look useful superficially, but often make +poor design choices, and are difficult to maintain long-term. Sometimes the AI agent creates a solution that does not +solve the problem in any way. + +While the use of AI tools to help you write code is absolutely allowed, we expect all contributors to be able to +understand and explain every line of code they submit (if needed, we won't interrogate you!). If the contributor cannot +understand every line, it is unlikely that whoever reviews it will be able to. + +If you submit some code and we incorrectly tell you that we think it's AI generated, please let us know! There are various +"tells" that code has been written by AI, but these are not perfect. If we've made a mistake, that's on us, and we +want to correct it! + +## Communication +It is also tempting to use AI for general communication, whether this is in GitHub issues or pull requests, or in our +[Zulip Chat]. For many contributors, English is not their first language, and it is of course fine to use tools to help +correct your communication. However, **please do not use LLMs to create messages that you send to us in any format**. +We want to hear what *you* think, not what an LLM thinks! \ No newline at end of file From 541daa3e05df5841de6bc51f7673da0f5dc774f8 Mon Sep 17 00:00:00 2001 From: Adam Tyson Date: Fri, 5 Dec 2025 12:23:26 +0000 Subject: [PATCH 3/9] Add action --- docs/source/get-involved/ai_policy.md | 29 +++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/docs/source/get-involved/ai_policy.md b/docs/source/get-involved/ai_policy.md index c72cd231..7dd37633 100644 --- a/docs/source/get-involved/ai_policy.md +++ b/docs/source/get-involved/ai_policy.md @@ -1,5 +1,12 @@ # NIU policy on contributions using AI +::: {admonition} TL;DR +:class: note + +While we encourage, and are very grateful for, contributions to our software, we don't accept any contributions generated +mostly by AI. +::: + ## Introduction Generative AI tools have developed quickly in the last few years, and have changed how many people write code. General purpose tools such as [ChatGPT](https://chatgpt.com/) or specific code development tools such as @@ -19,15 +26,25 @@ poor design choices, and are difficult to maintain long-term. Sometimes the AI a solve the problem in any way. While the use of AI tools to help you write code is absolutely allowed, we expect all contributors to be able to -understand and explain every line of code they submit (if needed, we won't interrogate you!). If the contributor cannot -understand every line, it is unlikely that whoever reviews it will be able to. +understand and explain every line of code they submit (if needed, we won't interrogate you!). If you cannot +understand every line, it is unlikely that whoever reviews it will be able to either! If you submit some code and we incorrectly tell you that we think it's AI generated, please let us know! There are various "tells" that code has been written by AI, but these are not perfect. If we've made a mistake, that's on us, and we -want to correct it! +want to correct it. ## Communication It is also tempting to use AI for general communication, whether this is in GitHub issues or pull requests, or in our -[Zulip Chat]. For many contributors, English is not their first language, and it is of course fine to use tools to help -correct your communication. However, **please do not use LLMs to create messages that you send to us in any format**. -We want to hear what *you* think, not what an LLM thinks! \ No newline at end of file +[Zulip Chat](https://neuroinformatics.zulipchat.com). Often LLMs add lots of unnecessary text, and may distort the +meaning behind the message. For many contributors, English is not their first language, and it is of course fine to +use tools to help correct your communication. However, **please do not use LLMs to create entire messages that you send +to us in any format**. We want to hear what *you* think, not what an LLM thinks! + +## Action +We hope this policy will help clarify our position. If we think that a code contribution or communication is AI +generated, we will politely refer you to this page and close the issue or PR (if relevant). If we have made a mistake, +please tell us. As these tools progress, we will likely get it wrong a lot, and we want to know. The last thing we +want is to deter any real, human contributors! + +In the unlikely event that our policy is repeatedly ignored (e.g. multiple AI-generated pull requests), we may block +that individual from our GitHub organisation and/or Zulip. \ No newline at end of file From 5405f01300eb5dbf1cc8531e26a84c921d108416 Mon Sep 17 00:00:00 2001 From: Adam Tyson Date: Fri, 5 Dec 2025 12:33:08 +0000 Subject: [PATCH 4/9] ignore chatgpt link --- docs/source/conf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/conf.py b/docs/source/conf.py index 8f2c923d..c38e0c05 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -79,6 +79,7 @@ "https://errantscience.com/", "https://in2scienceuk.org/our-programmes/in2research/", "https://www.biorxiv.org/content/10.1101/2025.03.30.645770v1", + "https://chatgpt.com/", r"https://www\.cell\.com/.*", # Use regex pattern to match all cell.com URLs r"https?://(?:dx\.)?doi\.org/.*", # Use regex pattern to match all DOI URLs ] From 739cbb1c14d494a23958fc3b636d21038b10f624 Mon Sep 17 00:00:00 2001 From: Adam Tyson Date: Fri, 5 Dec 2025 14:45:36 +0000 Subject: [PATCH 5/9] Update docs/source/get-involved/ai_policy.md Co-authored-by: Chang Huan Lo --- docs/source/get-involved/ai_policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/get-involved/ai_policy.md b/docs/source/get-involved/ai_policy.md index 7dd37633..0706d50a 100644 --- a/docs/source/get-involved/ai_policy.md +++ b/docs/source/get-involved/ai_policy.md @@ -42,7 +42,7 @@ to us in any format**. We want to hear what *you* think, not what an LLM thinks! ## Action We hope this policy will help clarify our position. If we think that a code contribution or communication is AI -generated, we will politely refer you to this page and close the issue or PR (if relevant). If we have made a mistake, +generated, we will politely refer you to this page and close the issue or pull request (if relevant). If we have made a mistake, please tell us. As these tools progress, we will likely get it wrong a lot, and we want to know. The last thing we want is to deter any real, human contributors! From 1041edb4a1699bc52ed9aeda6f0a9cabe8da3ae6 Mon Sep 17 00:00:00 2001 From: Adam Tyson Date: Mon, 8 Dec 2025 07:44:32 +0000 Subject: [PATCH 6/9] Update docs/source/get-involved/ai_policy.md Co-authored-by: Niko Sirmpilatze --- docs/source/get-involved/ai_policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/get-involved/ai_policy.md b/docs/source/get-involved/ai_policy.md index 0706d50a..acd3f35a 100644 --- a/docs/source/get-involved/ai_policy.md +++ b/docs/source/get-involved/ai_policy.md @@ -36,7 +36,7 @@ want to correct it. ## Communication It is also tempting to use AI for general communication, whether this is in GitHub issues or pull requests, or in our [Zulip Chat](https://neuroinformatics.zulipchat.com). Often LLMs add lots of unnecessary text, and may distort the -meaning behind the message. For many contributors, English is not their first language, and it is of course fine to +meaning behind the message. For many contributors, English is not their first language, and it is of course fine to use tools to help correct your communication. However, **please do not use LLMs to create entire messages that you send to us in any format**. We want to hear what *you* think, not what an LLM thinks! From 0c4ad0d5224012210b143c97d84a285d9d8a5809 Mon Sep 17 00:00:00 2001 From: Adam Tyson Date: Mon, 8 Dec 2025 07:44:54 +0000 Subject: [PATCH 7/9] Update docs/source/get-involved/index.md Co-authored-by: Niko Sirmpilatze --- docs/source/get-involved/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/get-involved/index.md b/docs/source/get-involved/index.md index 8afb8482..0a7c905e 100644 --- a/docs/source/get-involved/index.md +++ b/docs/source/get-involved/index.md @@ -14,8 +14,8 @@ These include our [general development guidelines](development_guidelines) and [guidelines for specific languages and frameworks](languages_frameworks). We are also happy to guide new contributors through the process. For more details please see -[our documentation about mentored open source contributions](mentoring). Please also see our -[policy on AI contributions](ai_policy). +[our documentation about mentored open source contributions](mentoring) +and our [policy on AI contributions](ai_policy). ## Internships We offer a number of paid internships each year, through established programs such as From 48769ae4a743cba1a6fcff1f8d7f00a7747c6de6 Mon Sep 17 00:00:00 2001 From: Adam Tyson Date: Mon, 8 Dec 2025 07:47:29 +0000 Subject: [PATCH 8/9] Update docs/source/get-involved/ai_policy.md Co-authored-by: Alessandro Felder --- docs/source/get-involved/ai_policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/get-involved/ai_policy.md b/docs/source/get-involved/ai_policy.md index acd3f35a..9922d29b 100644 --- a/docs/source/get-involved/ai_policy.md +++ b/docs/source/get-involved/ai_policy.md @@ -26,7 +26,7 @@ poor design choices, and are difficult to maintain long-term. Sometimes the AI a solve the problem in any way. While the use of AI tools to help you write code is absolutely allowed, we expect all contributors to be able to -understand and explain every line of code they submit (if needed, we won't interrogate you!). If you cannot +understand and explain every line of code they submit. Reviewers may ask you questions to aid their own understanding of your code (not to test you). If you cannot understand every line, it is unlikely that whoever reviews it will be able to either! If you submit some code and we incorrectly tell you that we think it's AI generated, please let us know! There are various From d6fc019041be0516c50c058b38264ed5c7c56560 Mon Sep 17 00:00:00 2001 From: Adam Tyson Date: Mon, 8 Dec 2025 07:49:39 +0000 Subject: [PATCH 9/9] Update wording based on feedback --- docs/source/get-involved/ai_policy.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/source/get-involved/ai_policy.md b/docs/source/get-involved/ai_policy.md index 9922d29b..8be2d5f4 100644 --- a/docs/source/get-involved/ai_policy.md +++ b/docs/source/get-involved/ai_policy.md @@ -25,9 +25,11 @@ that is, or appears to be, mostly written by AI tools**. These contributions loo poor design choices, and are difficult to maintain long-term. Sometimes the AI agent creates a solution that does not solve the problem in any way. -While the use of AI tools to help you write code is absolutely allowed, we expect all contributors to be able to -understand and explain every line of code they submit. Reviewers may ask you questions to aid their own understanding of your code (not to test you). If you cannot -understand every line, it is unlikely that whoever reviews it will be able to either! +While the use of AI tools to help you write code is absolutely allowed, we expect all contributors to be responsible +for their code. This means they should be able to understand every line of code they submit and explain their +reasoning behind it. Reviewers may ask you questions to aid their own understanding +of your code (not to test you). If you cannot understand every line, it is unlikely that whoever reviews +it will be able to either! If you submit some code and we incorrectly tell you that we think it's AI generated, please let us know! There are various "tells" that code has been written by AI, but these are not perfect. If we've made a mistake, that's on us, and we @@ -47,4 +49,4 @@ please tell us. As these tools progress, we will likely get it wrong a lot, and want is to deter any real, human contributors! In the unlikely event that our policy is repeatedly ignored (e.g. multiple AI-generated pull requests), we may block -that individual from our GitHub organisation and/or Zulip. \ No newline at end of file +that individual from our GitHub organisation and/or Zulip.