From 59f9ef4467a9a43e4670fbaf47d426bc2cf39fb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20H=C3=B8ydahl?= Date: Fri, 12 Dec 2025 09:59:16 +0100 Subject: [PATCH] Update contributor docs about AI coding assistants --- .github/PULL_REQUEST_TEMPLATE.md | 1 + dev-docs/FAQ.adoc | 5 +++++ dev-docs/how-to-contribute.adoc | 16 +++++++++++++--- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 4fd94fb8c383..b45f9a2d6cbc 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -26,6 +26,7 @@ Please provide a short description of the changes you're making with this pull r # Solution Please provide a short description of the approach taken to implement your solution. +We appreciate transparent disclosure of significant [AI Coding assistants](https://github.com/apache/solr/blob/main/dev-docs/how-to-contribute.adoc#setup-for-contributing) usage. # Tests diff --git a/dev-docs/FAQ.adoc b/dev-docs/FAQ.adoc index 4f0d6a312b8a..0690f557e5c2 100644 --- a/dev-docs/FAQ.adoc +++ b/dev-docs/FAQ.adoc @@ -19,6 +19,11 @@ branch to avoid extra mailing list traffic etc. Periodically review https://github.com/apache/solr/branches/all to see if you have created a branch that can be deleted. +=== Can I use an AI coding assistant? + +Yes, but you are responsible for reviewing all code and documentation, and to transparently +declare the use of AI in your PR. See xref:how-to-contribute.adoc#_use_of_ai_coding_assistants[Use of AI coding Assistants]. + === How do I run Solr in Docker? You can review instructions for running Solr in Docker in the xref:running-in-docker.adoc[Running in Docker developer doc]. diff --git a/dev-docs/how-to-contribute.adoc b/dev-docs/how-to-contribute.adoc index 7621eb7b8e7d..fdd60619d281 100644 --- a/dev-docs/how-to-contribute.adoc +++ b/dev-docs/how-to-contribute.adoc @@ -44,21 +44,31 @@ In order to make a new contribution to Solr you will use the fork you have creat ## PR Do-s and Don't-s -Please do not: +**Please do not:** * reformat code unrelated to the bug being fixed: formatting changes should be separate patches/commits. * comment out code that is now obsolete: just remove it. * insert comments around each change, marking the change: folks can use git to figure out what's changed and by whom. * make things public which are not required by end users. -* Combine multiple issues into a single patch, especially if they are unrelated or only loosely related. This is true even if the changes affect the same files. In some rare cases it is warranted, but for the most part it makes it harder for committers to evaluate the patch. +* combine multiple issues into a single patch, especially if they are unrelated or only loosely related. This is true even if the changes affect the same files. In some rare cases it is warranted, but for the most part it makes it harder for committers to evaluate the patch. +* contribute AI generated code without human review and transparent declaration. -Please do: +**Please do:** * try to adhere to the coding style of files you edit; * comment code whose function or rationale is not obvious; * update documentation (e.g., package.html files, this wiki, etc.) * try to provide a unit test that shows a bug was indeed fixed or the new functionality truly works * use the "draft state" for PRs which are work in progress +* carefully review and take responsibility for any AI-assisted code or documentation (see below) + +## Use of AI Coding Assistants + +AI-powered tools (like GitHub Copilot, ChatGPT, etc.) can assist with contributions, but human contributors remain fully responsible for all submitted code and documentation. See the [ASF Generative Tooling Guidance](https://www.apache.org/legal/generative-tooling.html) for the foundation's policy. If you use AI tools: + +- Carefully review all generated content for correctness, security, and alignment with Solr's architecture +- For major AI-assisted contributions, disclose the use of AI tools in your PR description +- For documentation contributions, prefer concise, human-readable content over verbose AI-generated text ## Getting Your Contribution Merged