Re: Policy: Use of AI-Generated Content in GNUstep

Gregory Casamento <[email protected]> Fri, 10 Jul 2026 11:20:45 -0400
Newsgroups gmane.comp.lib.gnustep.general
Message-ID <[email protected]>
--Apple-Mail=_9C438ACE-ED73-4744-97A4-6B038728009B
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Reposted because of our discussion=E2=80=A6.  This is the email I was =
referring to.

> On Mar 12, 2026, at 18:43, Gregory Casamento =
<[email protected]> wrote:
>=20
> Hey guys... =20
>=20
> This is based on a PR I submitted a while ago and on personal =
experience... please note below.  This is our unofficial policy on AI =
generated submissions:
> ---
> # Policy: Use of AI-Generated Content in GNUstep
>=20
> ## 1. Purpose
>=20
> GNUstep welcomes contributions that improve the project's codebase,
> documentation, tests, and developer tooling. This policy establishes
> requirements for contributions created with the assistance of =
generative
> AI systems (for example, code suggestions, documentation drafts,
> translations, or refactor proposals), with the goal of preserving
> quality, maintainability, licensing clarity, and security.
>=20
> ## 2. Scope
>=20
> While many of these policies apply to contributions in general,=20
> this policy applies to all AI-assisted content proposed for inclusion =
in
> GNUstep project assets, including but not limited to:
>=20
> -   Source code (Objective-C, C, C++, scripts, build tooling)
> -   Documentation (README files, manuals, web pages, tutorials)
> -   Tests, CI configurations, and project metadata
> -   Issue comments, design proposals, and merge request content =
intended
>     to become authoritative project guidance
>=20
> ## 3. Guiding Principle
>=20
> AI tools may be used as assistive drafting aids. Contributors remain
> fully responsible for the accuracy, safety, quality, and licensing
> compliance with anything they submit.
>=20
> ## 4. Mandatory Independent Verification and Enhanced Review
>=20
> While we welcome AI-assisted contributions, it is important to =
remember
> that AI can and does make mistakes based on its training.  Because of =
this=20
> AI-assisted contributions are subject to heightened scrutiny and must
> undergo rigorous, independent human validation before acceptance.
>=20
> ### 4.1 Independent Human Verification
>=20
> AI can make mistakes.  It can produce runnable, but =
messy/unmaintainable
> code.  Because of this, the contributor and the reviewer/maintainer =
must=20
> both thoroughly review the code.  As with any code, the contributor is=20=

> requested and required to be responsible for the code that is=20
> AI-generated.
>=20
> These responsibilities apply to normal contributions as well, but =
there
> are special considerations for AI-generated contributions.
>=20
> #### 4.2 Contributor responsibilities
>=20
> All AI-assisted contributions MUST include tests
>=20
> The contributor must:
>=20
> -   Never open a PR before reviewing the code.
> -   If the code doesn't make sense to you or you can't explain it,
>     it WILL be rejected. (AKA DON'T COMMIT MESSY CODE TO OUR REPO!)
> -   A description of what is being tested
> -   Why is the test good enough?
> -   What failures is this test guarding against?
> -   Ensure that Apple-specific coding conventions are NOT being
>     used as the project also uses GCC.
>    =20
> ## 5. Disclosure Requirement
>=20
> Contributors should disclose AI assistance when it materially shaped =
the
> submission (for example, where significant portions of code or
> an AI system drafted documentation).
>=20
> Disclosure may be included in:
>=20
> -   The merge request or pull request description
> -   The commit message
>=20
> Disclosure is intended to assist reviewers in calibrating review =
depth,
> not to discourage responsible use of tooling.
>=20
> ## 6. Prohibited Uses
>=20
> These are requirements under normal circumstances, but they are
> emphasized here.
>=20
> AI-generated content must not be used to:
>=20
> -   Introduce material whose origin or licensing cannot be reasonably
>     verified
> -   Generate security-critical logic (e.g., cryptography,
>     authentication, privilege boundaries) without expert human review
> -   Fabricate references, test results, benchmarks, or performance
>     claims
>=20
> ## 7. Contributor Responsibilities
>=20
> Anyone submitting AI-assisted content must be prepared to:
>=20
> -   Explain clearly what the change does and why it is correct
> -   Provide reproduction steps, tests, or benchmarks when relevant
> -   Revise or withdraw a submission if concerns arise regarding
>     correctness, security, maintainability, or licensing
>=20
> ## 8. Governance Record
>=20
> This policy reflects project governance discussion, including =
discussion
> with Fred Kiefer during the meeting held on Saturday, February 14.
>=20
> ## 9. Effective Date and Updates
>=20
> This policy becomes effective upon inclusion in the GNUstep =
repository.
> Updates should be discussed publicly (for example, via mailing list,
> issue tracker, or project meeting) before adoption.
>=20
> =
------------------------------------------------------------------------
>=20
> ### References
>=20
> -   GNU Coding Standards -- GNU Project
>     https://www.gnu.org/prep/standards/standards.html
>=20
> -   Free Software Foundation Licensing Resources
>     https://www.fsf.org/licensing/
>=20
> -   OpenAI Usage Policies (general guidance on responsible AI use)
>     https://openai.com/policies/
> ---
> Yours, GC
> --
> Gregory Casamento
> GNUstep Lead Developer / Black Lotus, Principal Consultant
> http://www.gnustep.org <http://www.gnustep.org/> - =
http://heronsperch.blogspot.com <http://heronsperch.blogspot.com/>
> https://www.patreon.com/bePatron?u=3D352392 - Become a Patron
> https://www.openhub.net/languages/objective_c
> =
https://www.gofundme.com/f/cacao-linux-a-gnustep-reference-implementation


--Apple-Mail=_9C438ACE-ED73-4744-97A4-6B038728009B
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html aria-label=3D"message body"><head><meta http-equiv=3D"content-type" =
content=3D"text/html; charset=3Dutf-8"></head><body =
style=3D"overflow-wrap: break-word; -webkit-nbsp-mode: space; =
line-break: after-white-space;">Reposted because of our discussion=E2=80=A6=
. &nbsp;This is the email I was referring to.<div><div><br><blockquote =
type=3D"cite"><div>On Mar 12, 2026, at 18:43, Gregory Casamento =
&lt;[email protected]&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div><div dir=3D"ltr"><div><div =
class=3D"gmail_default" style=3D"font-family:monospace,monospace">Hey =
guys...&nbsp;&nbsp;</div><div class=3D"gmail_default" =
style=3D"font-family:monospace,monospace"><br></div><div =
class=3D"gmail_default" style=3D"font-family:monospace,monospace">This =
is based on a PR I submitted a while ago and on personal experience... =
please note below.&nbsp; This is our unofficial policy on AI generated =
submissions:</div><font face=3D"monospace"><span class=3D"gmail_default" =
style=3D"font-family:monospace,monospace">---</span><br># Policy: Use of =
AI-Generated Content in GNUstep<br><br>## 1. Purpose<br><br>GNUstep =
welcomes contributions that improve the project's =
codebase,<br>documentation, tests, and developer tooling. This policy =
establishes<br>requirements for contributions created with the =
assistance of generative<br>AI systems (for example, code suggestions, =
documentation drafts,<br>translations, or refactor proposals), with the =
goal of preserving<br>quality, maintainability, licensing clarity, and =
security.<br><br>## 2. Scope<br><br>While many of these policies apply =
to contributions in general, <br>this policy applies to all AI-assisted =
content proposed for inclusion in<br>GNUstep project assets, including =
but not limited to:<br><br>- &nbsp; Source code (Objective-C, C, C++, =
scripts, build tooling)<br>- &nbsp; Documentation (README files, =
manuals, web pages, tutorials)<br>- &nbsp; Tests, CI configurations, and =
project metadata<br>- &nbsp; Issue comments, design proposals, and merge =
request content intended<br>&nbsp; &nbsp; to become authoritative =
project guidance<br><br>## 3. Guiding Principle<br><br>AI tools may be =
used as assistive drafting aids. Contributors remain<br>fully =
responsible for the accuracy, safety, quality, and =
licensing<br>compliance with anything they submit.<br><br>## 4. =
Mandatory Independent Verification and Enhanced Review<br><br>While we =
welcome AI-assisted contributions, it is important to remember<br>that =
AI can and does make mistakes based on its training.&nbsp; Because of =
this <br>AI-assisted contributions are subject to heightened scrutiny =
and must<br>undergo rigorous, independent human validation before =
acceptance.<br><br>### 4.1 Independent Human Verification<br><br>AI can =
make mistakes.&nbsp; It can produce runnable, but =
messy/unmaintainable<br>code.&nbsp; Because of this, the contributor and =
the reviewer/maintainer must <br>both thoroughly review the code.&nbsp; =
As with any code, the contributor is <br>requested and required to be =
responsible for the code that is <br>AI-generated.<br><br>These =
responsibilities apply to normal contributions as well, but there<br>are =
special considerations for AI-generated contributions.<br><br>#### 4.2 =
Contributor responsibilities<br><br>All AI-assisted contributions MUST =
include tests<br><br>The contributor must:<br><br>- &nbsp; Never open a =
PR before reviewing the code.<br>- &nbsp; If the code doesn't make sense =
to you or you can't explain it,<br>&nbsp; &nbsp; it WILL be rejected. =
(AKA DON'T COMMIT MESSY CODE TO OUR REPO!)<br>- &nbsp; A description of =
what is being tested<br>- &nbsp; Why is the test good enough?<br>- =
&nbsp; What failures is this test guarding against?<br>- &nbsp; Ensure =
that Apple-specific coding conventions are NOT being<br>&nbsp; &nbsp; =
used as the project also uses GCC.<br>&nbsp; &nbsp; <br>## 5. Disclosure =
Requirement<br><br>Contributors should disclose AI assistance when it =
materially shaped the<br>submission (for example, where significant =
portions of code or<br>an AI system drafted =
documentation).<br><br>Disclosure may be included in:<br><br>- &nbsp; =
The merge request or pull request description<br>- &nbsp; The commit =
message<br><br>Disclosure is intended to assist reviewers in calibrating =
review depth,<br>not to discourage responsible use of tooling.<br><br>## =
6. Prohibited Uses<br><br>These are requirements under normal =
circumstances, but they are<br>emphasized here.<br><br>AI-generated =
content must not be used to:<br><br>- &nbsp; Introduce material whose =
origin or licensing cannot be reasonably<br>&nbsp; &nbsp; verified<br>- =
&nbsp; Generate security-critical logic (e.g., cryptography,<br>&nbsp; =
&nbsp; authentication, privilege boundaries) without expert human =
review<br>- &nbsp; Fabricate references, test results, benchmarks, or =
performance<br>&nbsp; &nbsp; claims<br><br>## 7. Contributor =
Responsibilities<br><br>Anyone submitting AI-assisted content must be =
prepared to:<br><br>- &nbsp; Explain clearly what the change does and =
why it is correct<br>- &nbsp; Provide reproduction steps, tests, or =
benchmarks when relevant<br>- &nbsp; Revise or withdraw a submission if =
concerns arise regarding<br>&nbsp; &nbsp; correctness, security, =
maintainability, or licensing<br><br>## 8. Governance Record<br><br>This =
policy reflects project governance discussion, including =
discussion<br>with Fred Kiefer during the meeting held on Saturday, =
February 14.<br><br>## 9. Effective Date and Updates<br><br>This policy =
becomes effective upon inclusion in the GNUstep repository.<br>Updates =
should be discussed publicly (for example, via mailing list,<br>issue =
tracker, or project meeting) before =
adoption.<br><br>---------------------------------------------------------=
---------------<br><br>### References<br><br>- &nbsp; GNU Coding =
Standards -- GNU Project<br>&nbsp; &nbsp; <a =
href=3D"https://www.gnu.org/prep/standards/standards.html">https://www.gnu=
.org/prep/standards/standards.html</a><br><br>- &nbsp; Free Software =
Foundation Licensing Resources<br>&nbsp; &nbsp; <a =
href=3D"https://www.fsf.org/licensing/">https://www.fsf.org/licensing/</a>=
<br><br>- &nbsp; OpenAI Usage Policies (general guidance on responsible =
AI use)<br>&nbsp; &nbsp; <a =
href=3D"https://openai.com/policies/">https://openai.com/policies/</a></fo=
nt></div><div><div class=3D"gmail_default" =
style=3D"font-family:monospace,monospace">---<br>Yours, =
GC</div></div><span class=3D"gmail_signature_prefix">-- </span><br><div =
dir=3D"ltr" class=3D"gmail_signature" =
data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div =
dir=3D"ltr"><div><div dir=3D"ltr"><font face=3D"monospace">Gregory =
Casamento<br>GNUstep Lead Developer / Black Lotus, Principal =
Consultant<br><a href=3D"http://www.gnustep.org/" =
target=3D"_blank">http://www.gnustep.org</a> - <a =
href=3D"http://heronsperch.blogspot.com/" =
target=3D"_blank">http://heronsperch.blogspot.com</a><br><a =
href=3D"https://www.patreon.com/bePatron?u=3D352392" =
target=3D"_blank">https://www.patreon.com/bePatron?u=3D352392</a>&nbsp;- =
Become a Patron</font></div></div><div dir=3D"ltr"><font color=3D"#888888"=
 face=3D"monospace"><a =
href=3D"https://www.openhub.net/languages/objective_c" =
style=3D"color:rgb(17,85,204)" =
target=3D"_blank">https://www.openhub.net/languages/objective_c</a></font>=
<br></div><div dir=3D"ltr"><font face=3D"monospace"><a =
href=3D"https://www.gofundme.com/f/cacao-linux-a-gnustep-reference-impleme=
ntation" =
target=3D"_blank">https://www.gofundme.com/f/cacao-linux-a-gnustep-referen=
ce-implementation</a></font><br></div></div></div></div></div>
</div></blockquote></div><br></div></body></html>=

--Apple-Mail=_9C438ACE-ED73-4744-97A4-6B038728009B--