Skip to content

Commit 5a56a91

Browse files
committed
rn-122: include anniversary q&a with Junio C Hamano
This section is not complete yet. I am yet to expand it and add the community interview answers.
1 parent 8a4a501 commit 5a56a91

File tree

1 file changed

+98
-3
lines changed

1 file changed

+98
-3
lines changed

rev_news/drafts/edition-122.md

+98-3
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)