@@ -186,9 +186,104 @@ This edition covers what happened during the months of March and April 2025.
186186### Support
187187-->
188188
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+
192287
193288## Other News
194289
0 commit comments