Skip to content

Commit 5f5c46e

Browse files
authored
Merge pull request #771 from git/ai-guidelines
Add guidelines for using AI tools
2 parents 61363d1 + e594146 commit 5f5c46e

File tree

2 files changed

+116
-1
lines changed

2 files changed

+116
-1
lines changed

Diff for: General-Application-Information.md

+107-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ programs can get information about what the Git project would like to
99
see in an application.
1010

1111
*Please read this page completely before focusing on a project or a
12-
microproject ideas, or microproject general information.*
12+
microproject ideas, or microproject general information.
13+
Specifically, also read the "AI guidelines" section to know our
14+
stance regarding the usage of AI tools.*
1315

1416

1517
## Microproject (required)
@@ -130,6 +132,110 @@ are interested in, it is a good idea to:
130132
used for searching the mailing list and linking to previous
131133
discussions.)
132134

135+
## AI guidelines
136+
137+
The use of Artificial Intelligence related tools ("AI" or "AIs" for
138+
short), like Large Language Models ("LLMs"), by developers is becoming
139+
more and more popular, but that's not a reason to blindly use them,
140+
especially when working on the Git project.
141+
142+
### Legal issues
143+
144+
In general, it's not clear if AI generated code or documentation are
145+
acceptable in the Git project. Authors contributing to Git are
146+
required to "sign off" the patches they contribute, and to agree with
147+
the Developer’s Certificate of Origin, also called DCO, (see
148+
<https://git-scm.com/docs/SubmittingPatches#sign-off>), while the DCO
149+
says basically that authors of a patch should be sure about the origin
150+
of its content.
151+
152+
As we cannot usually be sure how AIs have been trained and that they
153+
are not just repeating proprietary existing code or documentation they
154+
saw during their training, we cannot accept much AI generated code or
155+
documentation in general. Now, if it's only a few lines to fix a bug
156+
or to implement a common pattern or summarize something, and if that
157+
looks specific enough to a current concrete problem a developer is
158+
working on, that might be OK.
159+
160+
Anyway as the situation is not clear for the Git project and probably
161+
many other open source projects, you should be very prudent regarding
162+
this.
163+
164+
### Be very careful with AI output
165+
166+
For a number of reasons, not just legal ones, developers should really
167+
make sure that they treat what AIs produce very carefully. They
168+
should:
169+
170+
- triple check everything, especially regarding our guidelines
171+
(indent, style, commit message guidelines, etc, see especially the
172+
SubmittingPatches and CodingGuidelines docs as well as the other
173+
pages on this website) and the feedback reviewers already gave
174+
them or others,
175+
176+
- build and test changes, using existing, new or manual tests, to
177+
check that the changes are correct, perform well and don't produce
178+
garbage output,
179+
180+
- doubt anything they don't fully understand, or anything that might
181+
not match our guidelines or feedback, and
182+
183+
- fix, simplify, adapt, reword or change anything that is
184+
suspicious, bloated, too formal, or that they don't understand, or
185+
that doesn't match our guidelines or our feedback.
186+
187+
Yeah, AIs still often hallucinate or just produce bad code, commit
188+
messages, documentation or output, even when you point out their
189+
mistakes.
190+
191+
### We don't accept AI output as-is
192+
193+
It's unacceptable to send us something that is obvious AI slop, or
194+
that sounds overly formal or bloated, or that looks good on the
195+
surface but makes no sense, or that senders don’t understand or cannot
196+
explain. It just wastes our time and we cannot accept it. We want to
197+
interact with and mentor humans, not AIs.
198+
199+
For example, it's unacceptable to have an AI generate a commit message
200+
where it just describes what the code in the commit does, instead of
201+
the purpose of the change, and then send that to us.
202+
203+
In general, it's unacceptable to send AI-generated patches or messages
204+
as-is to the mailing list or to mentors' or developers' personal email
205+
addresses. We won't consider candidates doing that.
206+
207+
For another, unfortunately common, example, it's unacceptable to send
208+
us an application that has obviously been AI generated and doesn't
209+
follow our guidelines or the feedback we previously gave to other
210+
applicants. Those applications will be dropped.
211+
212+
### Blindly using AI is far worse than not applying
213+
214+
As bad AI use is growing in general, not just to apply to mentoring
215+
programs, more and more tools and ways are being developed to find out
216+
and fight against bad AI use.
217+
218+
So people who apply by sending us AI generated output as-is, not only
219+
waste their time, and our time, for no result, but they also leave
220+
evidence on our mailing list archive of their bad behavior.
221+
222+
For example, employers already use social media screening tools or
223+
candidate assessment software when hiring people, and it's likely that
224+
those tools, which often already use AI, are, or will be able to find
225+
out soon about such bad behavior.
226+
227+
### Better ways to use AIs
228+
229+
Developers would often likely get better results, learn more and have
230+
a better overall experience by asking AIs to only explain things, and
231+
guide them step by step towards producing a solution by themselves,
232+
rather than by asking for a full solution that they would then mostly
233+
copy-paste.
234+
235+
They can also use AIs to help with debugging, or with checking for
236+
obvious mistakes, things that can be improved, things that don't match
237+
our style, guidelines or our feedback, before sending it to us.
238+
133239
## Note about the number of slots
134240

135241
The Git organization usually has very limited mentoring capacity.

Diff for: General-Microproject-Information.md

+9
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,15 @@ questions on the mailing list or in IRC, or writing new tests, etc.,
212212
etc. In short, start doing things that other Git developers do!
213213
Alternatively you can of course focus on your project proposal.
214214

215+
## Be very careful when using AI tools
216+
217+
There is an "AI guidelines" section on our
218+
General-Application-Information page:
219+
220+
https://git.github.io/General-Application-Information/
221+
222+
Please read it and make sure you use AI very carefully.
223+
215224
## How to find ideas for microprojects
216225

217226
First check the specific page(s) or information about Git

0 commit comments

Comments
 (0)