Add draft AI contribution policy - #149
selimnairb wants to merge 2 commits into
Conversation
|
I look forward to seeing peoples' comments. Note for the following: I'm on the boards for PROJ and GDAL. You will see me as "KurtS" in the GDAL voting. GDAL, GRASS, and QGIS all have very related policies, e.g. the GDAL RFC 111 references these:
However, I haven't looked into the discussion at OSGeo that was linked from this post: https://www.osgeo.org/foundation-news/ai-in-osgeo-projects-notes-from-the-timisoara-bof/ For those wanting to see the GDAL discussions and results, take a look at these. Note that there have been 2 iterations so far, and I expect the policy to keep changing.
The resulting documents: And this is particularly interesting:
I've personally seen the quality of the LLM based tool outputs run the whole range of quality spectrum. |
| @@ -0,0 +1,126 @@ | |||
| # Bathymetric Attributed Grid (BAG) AI tool use policy | |||
There was a problem hiding this comment.
I suggest rewording this title to: “AI Tool Use Policy for the Bathymetric Attributed Grid (BAG) Project” to make immediately clear that BAG is the project and AI tool use is the subject of the policy.
giumas
left a comment
There was a problem hiding this comment.
I support the overall human-in-the-loop principle and contributor accountability. My comments are mostly intended to clarify the scope and application of the policy.
| LLM doesn't help anyone grow, and does not sustain our community. | ||
|
|
||
| Contributors are expected to **be transparent and label contributions that | ||
| contain substantial amounts of tool-generated content**. Our policy on |
There was a problem hiding this comment.
I fully support transparency, but “substantial amounts” seems difficult to interpret consistently. Thus, it might help clarifying that routine assistance such as code completion, debugging suggestions, or copy-editing does not normally require disclosure, whereas generation of significant portions of the submitted implementation/documentation does.
| labelling is intended to facilitate reviews, and not to track which parts of | ||
| BAG are generated. Contributors should note tool usage in their pull request | ||
| description, commit message, or wherever authorship is normally indicated for | ||
| the work. For instance, use a commit message trailer like Assisted-by: <name of |
There was a problem hiding this comment.
As AI assistance becomes increasingly integrated into development environments, distinguishing between “AI-generated” and “human-generated” content may also become difficult. I wonder whether the policy could focus more strongly on accountability and validation, while requiring disclosure only where AI played a material role in producing the submitted contribution.
|
|
||
| # Credits for this document | ||
|
|
||
| This document is adaptated from the |
| @@ -0,0 +1,4 @@ | |||
| # AGENTS instructions | |||
|
|
|||
| * This project does not accept vibe-coded contributions. See our | |||
There was a problem hiding this comment.
“vibe-coded” is a bit too informal (and somewhat ambiguous) for an official policy. What about: "This project does not accept AI-generated contributions that have not been adequately reviewed, understood, and validated by the contributor"?
| questions or uncertainties to the same extent as a contribution made without | ||
| tool assistance. | ||
|
|
||
| An important implication of this policy is that it bans agents that take action |
There was a problem hiding this comment.
I believe that “take action” is a bit too broad. Are we intentionally including CI bots, Dependabot, linters posting annotations, automated formatting/release bots, etc.?
I would recommend defining the scope more explicitly, for example as “generative AI agents producing substantive contributions or review comments,” while excluding conventional project automation and maintainer-approved bots.
| fully understand to build confidence. We aspire to be a welcoming community | ||
| that helps new contributors grow their expertise, but learning involves taking | ||
| small steps, getting feedback, and iterating. Passing maintainer feedback to an | ||
| LLM doesn't help anyone grow, and does not sustain our community. |
There was a problem hiding this comment.
Using an LLM to understand reviewer feedback can actually be educational. So I would expand a bit this statement to something like: "Simply passing maintainer feedback to an LLM and submitting its response without understanding or evaluating the resulting changes does not support contributor growth or sustainable project maintenance."
Resolves #148. Open for comments for 30 days.