@@ -186,9 +186,104 @@ This edition covers what happened during the months of March and April 2025.
186
186
### Support
187
187
-->
188
188
189
- <!-- -
190
- ## Developer Spotlight:
191
- -->
189
+ ## Community interview
190
+
191
+ _ Editor note: For Git's 20th anniversary, we are doing an exclusive collaborative
192
+ community interview and curating answers from various community members. Also,
193
+ there's a short Q&A with our zealous, inclusive and tireless maintainer that
194
+ follows below._
195
+
196
+ TODO
197
+
198
+ ### Short Q&A with our maintainer, Junio C Hamano
199
+
200
+ - ** Looking back over ~ 20 years of maintaining Git, what has been the
201
+ most surprising or unexpected evolution in the project — technically
202
+ or community-wise?**
203
+
204
+ Technically, one of the things I found surprising is how many lines
205
+ from Linus's original version still survive in today's codebase. The
206
+ [ initial version of Git] ( https://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23ca2e25604af290 )
207
+ was 1244 lines spread across 11 files, which is miniscule compared
208
+ to 300+ thousands of lines in 4600+ files in v2.49.0, but it is not
209
+ fair to say Linus's original genius is less than 0.3% of what we have.
210
+ If you try running ` git blame ` in reverse, you'll see that about 10%
211
+ of lines we have in our tree came from the original version Linus
212
+ released 20 years ago. You can check out a
213
+ [ little script called "Linus"] ( https://git.kernel.org/pub/scm/git/git.git/tree/Linus?h=todo )
214
+ out of my "todo" branch and run it to see for yourself.
215
+
216
+ Community-wise, there weren't many things that surprised me. I
217
+ expected a bit more developers who are interested in the core part of
218
+ system to stick around, say for more than 10 years, and I hoped that
219
+ some of them would be from younger generations who have never seen any
220
+ version control system other than Git, but how many among the active
221
+ contributors we see on the list every week fall into that category? We
222
+ have long-timers who are respected in the community, but we want to
223
+ grow that pool by say 5 every year or so, some of them ready to stick
224
+ around for another 10 years. In [ a recent interview] ( https://github.blog/open-source/git/git-turns-20-a-qa-with-linus-torvalds/ ) ,
225
+ Linus said he wanted somebody with good taste who sticks around, and
226
+ I do believe it is essential to have a sufficient number of long-timers
227
+ who can guide new folks into the community.
228
+
229
+ So that is a bit of surprise that makes me a little sad, but at the
230
+ same time, I think what is happening is that a development community
231
+ of an extremely popular and successful system that is mature with
232
+ friendly atmosphere has attracted many aspiring new folks, they
233
+ scratch their own itches and have fun, but then they find more
234
+ interesting things to do and go back to be happy end-users, which is
235
+ totally expected and natural thing.
236
+
237
+ - ** What are your thoughts about AI-assisted development tools in the
238
+ context of Git? Do you see a place for Git itself to become more
239
+ "intelligent"?**
240
+
241
+ I've kept saying that
242
+ < https://lore.kernel.org/git/[email protected] / >
243
+ is one of the most important design discussion in the early days of
244
+ Git. In that article, Linus outlines how his "ideal" SCM tool would
245
+ let you follow the historyz of a single function in today's codebase
246
+ backwards, notice that at certain revision the function appeared, but
247
+ the tool finds five functions disappeared in the same revision, all
248
+ looking very similar to the function we are interested in that was
249
+ added there, and the tool can explain that the commit consolidated
250
+ duplicated reimplementations done in various subdirectories into a
251
+ single common function and adjusted the existing callers of them to
252
+ the SCM user (if you want to learn more details, go to the original
253
+ and read it twice, I'll wait).
254
+
255
+ We can do ` git log -S<the-body-of-that-function> ` repeatedly to drill
256
+ down the history to find the revision that introduced that new
257
+ (possibly consolidated) function. In fact, the ` -S<pickaxe> ` feature
258
+ was invented exactly for the purpose of serving as the first step of
259
+ Linus's "ideal" SCM tool described in the article. But "finding
260
+ similar existing (and possibly getting lost) code in the same or
261
+ possibly nearby revisions" have been nebulous. I do not think anybody
262
+ in the Git circle tried it yet. I wonder, after 20 years, perhaps we
263
+ can feed a project's codebase to LLMs and let them figure out such a
264
+ fact?
265
+
266
+ - ** What's your boldest prediction about how version control might look in
267
+ another 20 years?**
268
+
269
+ I do not even foresee what software development in 20 years would look
270
+ like. I am not an insight kind of person.
271
+
272
+ - ** What advice would you give to someone who might one day step into your
273
+ role as Git maintainer?**
274
+
275
+ Be original. I didn't aim to duplicate the style Linus ran his tree
276
+ during the first four months of the project. My successor does not
277
+ have to duplicate my style of running the project, either. Having said
278
+ that, personally I would like to see more distribution of
279
+ responsibility. The maintainer may play a role of the final arbiter,
280
+ but it would be great if we can come up with a mechanism to allow list
281
+ participants to bear more of the burden of picking and choosing good
282
+ direction to go, deciding if a particular change is worth doing or the
283
+ are better ways to do the same thing, etc. I've been trying to nudge
284
+ the list discussions in that direction for the past few years, but
285
+ without much success, I think.
286
+
192
287
193
288
## Other News
194
289
0 commit comments