Skip to content

Commit d66f87c

Browse files
authored
docs: Various updates related to the AI policy (#5116)
I was reminded by Eric Enderton that we should mention and cross reference the recently-added AI policy docs in other places, since it can easily be overlooked now, buried in the docs directory. * Mention it in the pull request template's checklist. * In the CONTRIBUTING guide. * Briefly mention in the main README in the list of important documentation for developers. * A few very minor touch-ups and wordsmithing in other areas, no substantive changes. Also, responding to comments at the OSL TSC meeting this week, I added a brief section explaining that we don't have any specific guidance for how AI tools should or shouldn't be used for "artistically creative" work, since this project repo doesn't really house such things. This is mostly for the benefit of other projects that may use our policy document as inspiration, to warn them that they may have issues that need policy guidance but that we do not address. Signed-off-by: Larry Gritz <lg@larrygritz.com>
1 parent 144143d commit d66f87c

4 files changed

Lines changed: 56 additions & 17 deletions

File tree

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,12 @@ instructions!
3030
<!-- Put an 'x' in the boxes as you complete the checklist items -->
3131

3232
- [ ] **I have read the guidelines** on [contributions](https://github.com/AcademySoftwareFoundation/OpenImageIO/blob/main/CONTRIBUTING.md) and [code review procedures](https://github.com/AcademySoftwareFoundation/OpenImageIO/blob/main/docs/dev/CodeReview.md).
33+
- [ ] **I have read the [Policy on AI Coding Assistants](https://github.com/AcademySoftwareFoundation/OpenImageIO/blob/main/docs/dev/AI_Policy.md)**
34+
and if I used AI coding assistants, I have an `Assisted-by: TOOL / MODEL`
35+
line in the pull request description above.
3336
- [ ] **I have updated the documentation** if my PR adds features or changes
3437
behavior.
35-
- [ ] **I am sure that this PR's changes are tested somewhere in the
36-
testsuite**.
38+
- [ ] **I am sure that this PR's changes are tested in the testsuite**.
3739
- [ ] **I have run and passed the testsuite in CI** *before* submitting the
3840
PR, by pushing the changes to my fork and seeing that the automated CI
3941
passed there. (Exceptions: If most tests pass and you can't figure out why

CONTRIBUTING.md

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
2+
<!-- Copyright Contributors to the OpenImageIO Project. -->
3+
4+
15
Contributing to OpenImageIO
26
===========================
37

@@ -70,6 +74,26 @@ If confidentiality precludes a public question or issue for any reason, you
7074
may contact us privately at [security@openimageio.org](security@openimageio.org).
7175

7276

77+
Policy on AI Tools
78+
------------------
79+
80+
Please read our [Policy on AI Coding Assistants](docs/dev/AI_Policy.md)
81+
before contributing or particpating in the project in any way mediated by "AI"
82+
assistants.
83+
84+
High-level summary:
85+
- Human must always be in the loop, and is the responsible party for
86+
the contents of a PR (including fully understanding and being able
87+
to explain, defend, and modify it in response to review comments).
88+
- Interact with the project and community yourself, not by agent.
89+
- Disclose what tools you used and how. At a minimum, we require an
90+
"Assisted-by: TOOL/MODEL" line in the commit comments and PR description.
91+
- Don't waste maintainer's time with low quality PRs.
92+
93+
Please do read the whole [Policy on AI Coding Assistants](docs/dev/AI_Policy.md)
94+
for all the details.
95+
96+
7397
Contributor License Agreement (CLA) and Intellectual Property
7498
-------------------------------------------------------------
7599

@@ -230,33 +254,33 @@ repository. The protocol is like this:
230254
your own repository on GitHub, and then clone it to get a repository on your
231255
local machine.
232256

233-
1. Edit, compile, and test your changes. Run clang-format (see the
257+
2. Edit, compile, and test your changes. Run clang-format (see the
234258
instructions on coding style below).
235259

236-
1. Push your changes to your fork (each unrelated pull request to a separate
260+
3. Push your changes to your fork (each unrelated pull request to a separate
237261
"topic branch", please).
238262

239-
1. Make a "pull request" on GitHub for your patch.
263+
4. Make a "pull request" on GitHub for your patch.
240264

241-
2. If your patch will induce a major compatibility break, or has a design
265+
5. If your patch will induce a major compatibility break, or has a design
242266
component that deserves extended discussion or debate among the wider OIIO
243267
community, then it may be prudent to email oiio-dev pointing everybody to
244268
the pull request URL and discussing any issues you think are important.
245269

246-
1. All pull requests automatically launch CI jobs on GitHub Actions to
270+
6. All pull requests automatically launch CI jobs on GitHub Actions to
247271
ensure that the build completes and that the tests suite runs correctly, for
248272
a variety of platform, compiler, library, and flag combinations. The status
249273
of the CI tests for your PR will be displayed on the GitHub PR page. We will
250274
not accept PRs that don't build cleanly or pass the existing testsuite.
251275

252-
1. The reviewer will look over the code and critique on the "comments" area.
276+
7. The reviewer will look over the code and critique on the "comments" area.
253277
Reviewers may ask for changes, explain problems they found, congratulate the
254278
author on a clever solution, etc. But until somebody says "LGTM" (looks good
255279
to me), the code should not be committed. Sometimes this takes a few rounds
256280
of give and take. Please don't take it hard if your first try is not
257281
accepted. It happens to all of us.
258282

259-
1. After approval, one of the senior developers (with commit approval to the
283+
8. After approval, one of the senior developers (with commit approval to the
260284
official main repository) will merge your fixes into the main branch.
261285

262286
Please see the [Code Review](docs/dev/CodeReview.md) document for more

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ pull request (PR) mechanism.
144144
description of the major classes and their relationships.
145145
* [CONTRIBUTING](CONTRIBUTING.md) has detailed instructions about the
146146
development process.
147+
* [AI Policy](docs/dev/AI_Policy.md) decribes our policies on AI coding
148+
assistance tools.
147149
* [ROADMAP](docs/ROADMAP.md) is a high-level overview of the current
148150
development priorities for the next annual release, expected in September,
149151
2024.

docs/dev/AI_Policy.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
Proposed OpenImageIO Policy on AI Coding Assistants
2-
===================================================
1+
Policy on AI Coding Assistants
2+
==============================
33

44
- Initial policy merged 23-Mar-2026
55

@@ -8,11 +8,12 @@ Use of "AI coding assistants" is permitted on this project, with the following
88
guidelines and principles.
99

1010
Summary of our core values:
11-
- Human always in the loop and is the responsible party.
12-
- You're still on the hook for fully understanding and standing behind what
13-
you submit.
11+
- Human must always be in the loop, and is the responsible party for
12+
the contents of a PR (including fully understanding and being able
13+
to explain, defend, and modify it in response to review comments).
1414
- Interact with the project and community yourself, not by agent.
15-
- Disclose what tools you used and how.
15+
- Disclose what tools you used and how. At a minimum, we require an
16+
"Assisted-by: TOOL/MODEL" line in the commit comments and PR description.
1617
- Don't waste maintainer's time with low quality PRs.
1718

1819
The long version:
@@ -147,6 +148,17 @@ This AI tool use policy is not meant to encompass cases such as:
147148
- Reviewing your own code for mistakes prior to submitting a PR (as long as it
148149
isn't making the fixes for you).
149150

151+
### Creative contributions -- out of scope
152+
153+
This project repository contains code for tools, and their documentation. We
154+
don't really directly host any artistically creative work here, so we have not
155+
addressed additional policy issues that might come up in such a context.
156+
157+
If you are representing a different project that is using this document for
158+
guidance or inspiration for your own policies, please be aware that you may
159+
have needs that are not covered by these policies but deserve well-crafted
160+
guidance.
161+
150162
### References and inspiration
151163

152164
Our policy has been informed and inspired by the following efforts in other communities:
@@ -155,5 +167,4 @@ Our policy has been informed and inspired by the following efforts in other comm
155167
- [Linux Foundation policy on Generative AI](https://www.linuxfoundation.org/legal/generative-ai)
156168
- [Rust policy on rejecting burdensome PRs](https://github.com/rust-lang/compiler-team/issues/893)
157169
- The METR paper [Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity](https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/)
158-
159-
170+
- [GitHub Blog: Rethinking open source mentorship in the AI era](https://github.blog/open-source/maintainers/rethinking-open-source-mentorship-in-the-ai-era/)

0 commit comments

Comments
 (0)