You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: rev_news/drafts/edition-134.md
+197-3Lines changed: 197 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -210,9 +210,203 @@ This edition covers what happened during the months of March and April 2026.
210
210
### Support
211
211
-->
212
212
213
-
<!---
214
-
## Developer Spotlight:
215
-
-->
213
+
## Developer Spotlight: Meet Soni
214
+
215
+
_Editor’s note: This edition features a retrospective interview with a
216
+
contributor who contributed to Git through a mentoring program.
217
+
We hope the reflections shared by the GSoC contributor will
218
+
provide an insightful perspective that benefits the community.
219
+
As always, we welcome your thoughts and feedback!_
220
+
221
+
***Who are you and what do you do?**
222
+
223
+
I'm Meet, a final-year Computer Engineering student from Ahmedabad, India. I've
224
+
done GSoC twice - first with the Python Software Foundation [working on `cve-bin-tool`](https://summerofcode.withgoogle.com/archive/2024/projects/aEIXRpxg),
225
+
and then with Git [working on the git-refs command](https://summerofcode.withgoogle.com/archive/2025/projects/xVrT5e2q).
226
+
I also did an LFX Mentorship with Microcks under CNCF between the two GSoCs.
227
+
Currently I'm doing an internship at an early-stage stealth startup alongside
228
+
finishing up my degree.
229
+
230
+
***How did you initially become interested in contributing to Git, and what
231
+
motivated you to choose it as your GSoC project?**
232
+
233
+
Back in 2021, a friend showed me a video about GSoC and it seemed completely
234
+
out of reach at the time. Fast forward to late 2023, the same friend suggested
235
+
we finally give it a real shot. We both spent about 4 months contributing to
236
+
open-source projects to build up experience. Both of us got selected for GSoC
237
+
2024. I got into the Python Software Foundation. After finishing GSoC with PSF,
238
+
I loved the experience so much that I wanted to do it again. I decided to try
239
+
Git for GSoC 2025. I started by sending some small patches to get familiar with
240
+
the codebase and the mailing list workflow, reviewed patches from other
241
+
prospective GSoC students, and eventually proposed the git-refs consolidation
242
+
project.
243
+
244
+
***Is there any aspect of Git that you now see differently after having
245
+
contributed to it?**
246
+
247
+
Before contributing, I only really knew about Git's porcelain commands - `push`,
248
+
`pull`, `fetch`, `rebase`, `checkout`, the stuff you use every day. I had no
249
+
idea how much was happening underneath. Once I started reading the Git Internals
250
+
chapters from the [Pro Git book](https://git-scm.com/book/en/v2) and diving into
251
+
the source code, I discovered this whole world of plumbing commands -
`ls-tree`, `write-tree` - there are way more of them than the porcelain
254
+
commands most people interact with.
255
+
256
+
I learned that Git is fundamentally a content-addressable filesystem with a
257
+
VCS interface built on top. Everything is an object - blobs hold file
258
+
contents, trees represent directories, commits are snapshots pointing to
259
+
trees, and refs are just pointers into this object graph. The objects are
260
+
addressed by their SHA-1 hashes, and everything you do through the familiar
261
+
commands is just a thin layer operating on this object database. Understanding
262
+
all of this completely changed how I think about version control. When
263
+
something goes wrong in Git, I no longer feel lost - I can reason about what's
264
+
actually happening at the object level.
265
+
266
+
267
+
***How do you balance your contributions with other responsibilities like work
268
+
or school?**
269
+
270
+
During GSoC, I was mostly focused on Git full-time. My university schedule was
271
+
flexible enough that I could dedicate most of my working hours to the project.
272
+
That said, there were stretches where college reviews and submissions piled up
273
+
at the same time as a patch series needed revisions, and that got a little
274
+
hectic. I ended up working on weekends sometimes to make up for lost time and
275
+
stay on track with the project timeline. The trickier part was the mailing list
276
+
workflow itself - reviews could come at any time given the global nature of the
277
+
community, so I had to stay responsive even during busy college weeks.
278
+
279
+
***Can you share how GSoC helped enhance your technical and non-technical skills
280
+
(like communication, project management, etc.)?**
281
+
282
+
On the technical side, working on Git taught me a lot about writing C code that
283
+
has to be clean enough for others to maintain long after you're gone. The Git
284
+
codebase has strict coding standards and the review process enforces them. I
285
+
got much better at designing modular code, writing meaningful commit messages,
286
+
and structuring patch series so that each patch tells a clear story.
287
+
288
+
On the non-technical side, the mailing list workflow was probably the biggest
289
+
growth area. All communication is public, asynchronous, and text-based. There's
290
+
no hiding behind a quick Slack message - you have to articulate your design
291
+
decisions clearly in writing. I also learned how to take feedback without
292
+
taking it personally. Early on, getting a review that asked me to rethink my
293
+
approach felt discouraging. Over time I realized that the reviewers were
294
+
investing their time in making my code better, and that changed my perspective
295
+
entirely.
296
+
297
+
***What was your biggest takeaway or learning from GSoC that you now apply
298
+
regularly in your work?**
299
+
300
+
Community consensus matters more than being technically correct. In Git, you
301
+
can write perfectly functional code, but if the community doesn't agree with
302
+
the design direction, it won't get merged. My project depended heavily on
303
+
consensus around how the git-refs command should behave and what it should
304
+
consolidate. I spent a fair amount of time not just writing code, but defending
305
+
design choices and sometimes accepting that a different approach was better [[patch series](https://lore.kernel.org/git/20250627074934.1761897-1-meetsoni3017@gmail.com/)].
306
+
That taught me to separate my ego from my code. I try to apply that everywhere
307
+
now - when someone pushes back on something I wrote, my first reaction is to
308
+
understand why, not to defend.
309
+
310
+
***What was the biggest challenge you faced during your contributions to Git,
311
+
and how did you overcome it?**
312
+
313
+
The mailing list workflow. Before Git, all of my open-source contributions were
314
+
made on GitHub through pull requests. Git uses email-based patches, which was a
315
+
completely different process - formatting patches with `git send-email`, making
316
+
sure the threading is correct, handling version updates to a patch series. The
317
+
first few times I felt like I was fighting the tooling more than the actual
318
+
code.
319
+
320
+
But it got easier. After a few rounds, it started to feel like second nature.
321
+
The bigger challenge was the review process itself. Git's mailing list reviews
322
+
are thorough. Reviewers will question your variable naming, your commit message
323
+
wording, your design rationale - everything. Having to defend code changes and
324
+
push features to near-perfection was time consuming, but it made me a much
325
+
better programmer. I overcame it by just sticking with it and treating every
326
+
review comment as a learning opportunity rather than criticism.
327
+
328
+
***Have you thought about mentoring new GSoC / Outreachy students?**
329
+
330
+
Yes, I'd love to. After my GSoC 2024 with PSF, a lot of students reached out to
331
+
me for guidance on open source and GSoC applications. I helped several of them
332
+
with finding the right organizations, reviewing proposals, and getting started
333
+
with contributions. Three of them got selected for GSoC 2025, which I'm really
334
+
proud of.
335
+
336
+
For Git specifically, I'd like to mentor in the future, but I want to be in a
337
+
position where I can give it the time it deserves. Right now I'm occupied with
338
+
finishing my degree, an internship at a startup, and job hunting, so it
339
+
wouldn't be fair to a mentee if I signed up and couldn't be fully present. But
340
+
it's definitely something I want to do - the mentorship I received from Patrick
341
+
Steinhardt and Jialuo She was really valuable, and I'd like to pay that
342
+
forward.
343
+
344
+
***What upcoming features or changes in Git are you particularly excited about?**
345
+
346
+
The introduction of Rust into the Git codebase. Git 2.52 was the first release
347
+
to optionally include Rust code, starting with variable-width integer encoding.
348
+
Rust will become mandatory for [Git 3.0](https://git-scm.com/docs/BreakingChanges).
349
+
As someone who's written C code for Git, I find this really interesting - Rust
350
+
brings memory safety guarantees that could prevent entire classes of bugs.
351
+
352
+
***What is your toolbox for interacting with the mailing list and for
353
+
development of Git?**
354
+
355
+
For writing code, I use [AstroNvim](https://astronvim.com/) as my editor. For
356
+
sending patches, I use [`git send-email` configured](https://git-send-email.io/)
357
+
with Gmail's SMTP. For reading and replying to mailing list threads, I just
358
+
use Gmail's web interface
359
+
- it works well enough for following discussions and replying inline. I
360
+
develop and test on Linux, which I've been using as my daily driver since
361
+
2020.
362
+
363
+
***What is your advice for people who want to start Git development? Where and
364
+
how should they start?**
365
+
366
+
Read the [Pro Git book](https://git-scm.com/book/en/v2) first, especially the
367
+
Git Internals chapters. It gives you a mental model of how Git actually works
368
+
underneath, which makes reading the source code much less intimidating.
369
+
370
+
Then, start small. Subscribe to [the mailing list](https://git-scm.com/community#git-mailing-list)
371
+
and just read for a week or two. Look at what kind of patches are being sent,
372
+
how reviews work, how people structure their patch series. The Git project has
373
+
a document called "[MyFirstContribution](https://git-scm.com/docs/MyFirstContribution)"
374
+
in the Documentation folder that walks you through the entire process of
375
+
submitting your first patch.
376
+
377
+
For your first contribution, look for something small - a documentation fix, a
378
+
test improvement, a minor bug fix. The goal isn't to make a big impact right
379
+
away. The goal is to get comfortable with the workflow: formatting patches,
380
+
sending them via email, responding to reviews. Once you've done that once or
381
+
twice, everything else gets easier.
382
+
383
+
And don't be afraid of the mailing list. It looks intimidating from the
384
+
outside, but the community is genuinely helpful. Reviewers invest real time
385
+
into helping newcomers improve their patches. Take that feedback seriously and
386
+
you'll grow fast.
387
+
388
+
***Would you recommend other students or contributors to participate in the
389
+
GSoC, Outreachy or other mentoring programs, working on Git? Why? Do you have
390
+
advice for them?**
391
+
392
+
Absolutely. GSoC with Git was one of the best experiences I've had. The
393
+
community is welcoming, the mentors are invested in your success, and the
394
+
codebase is one of the most widely used pieces of software in the world.
395
+
There's something special about knowing that the code you wrote is running on
396
+
millions of machines.
397
+
398
+
My advice: start contributing early, well before the application period. Don't
399
+
just pick Git because it looks good on a resume - pick it because you're
400
+
genuinely curious about how it works. The people reviewing your patches can
401
+
tell the difference. Also, get comfortable with the mailing list workflow
402
+
before GSoC starts. It's the single biggest adjustment for most newcomers, and
403
+
if you spend your GSoC period still figuring out `git send-email`, you'll lose
404
+
valuable time.
405
+
406
+
And finally, be patient with yourself. The Git codebase is large and the
407
+
standards are high. Your first patches will probably need multiple revisions.
408
+
That's normal. Every contributor who came before you went through the same
0 commit comments