Skip to content

Commit 4c535ec

Browse files
committed
rn-130: include interview with Lucas Seiki Oshiro
1 parent f44b6b4 commit 4c535ec

File tree

1 file changed

+174
-3
lines changed

1 file changed

+174
-3
lines changed

rev_news/drafts/edition-130.md

100644100755
Lines changed: 174 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,180 @@ This edition covers what happened during the months of November and December 202
2929
### Support
3030
-->
3131

32-
<!---
33-
## Developer Spotlight:
34-
-->
32+
## Developer Spotlight: Lucas Seiki Oshiro
33+
34+
* **Who are you and what do you do?**
35+
36+
My name is Lucas Oshiro, I'm [one of the three](https://summerofcode.withgoogle.com/programs/2025/projects/fGgMYHwl)
37+
GSoC '25 participants working on Git. I'm from São Paulo, Brazil
38+
and I'm a bachelor and master in Computer Science from the
39+
[University of São Paulo](https://www5.usp.br/#english). I don't
40+
have only one specific interest in programming topics, I enjoy
41+
several different topics, like: lower-lever C code (like we do for Git),
42+
FP languages (especially Haskell), play with network simulators, data
43+
analysis, operating systems, databases and so on.
44+
45+
* **How did you initially become interested in contributing to Git,
46+
and what motivated you to choose it as your GSoC project?**
47+
48+
Well, it's a long story... I think that it dates back to 2017, in a
49+
Computer Networks assignment at my university. My partner in that
50+
assignment was [Matheus Tavares](https://matheustavares.gitlab.io/posts/gsoc-final-report),
51+
who participated in [GSoC '19 on Git](https://summerofcode.withgoogle.com/archive/2019/projects/4787791739748352).
52+
At the time, we needed to study a vulnerability and how it was fixed.
53+
We chose [CVE-2017-1000117](https://nvd.nist.gov/vuln/detail/cve-2017-1000117),
54+
which was vulnerability in Git. That was my first time reading Git
55+
source code.
56+
57+
Two years later, I was a member of [group focused on contributing to Free/Open-Source software](https://flusp.ime.usp.br)
58+
at my University. I sent a patch to Git at the time, but I needed to
59+
focus on other stuff and I couldn't finish it.
60+
61+
After that, I started to work as a back-end software engineer and I
62+
witnessed several Git-related problems. My two previous experiences with
63+
Git's source code made me want to understand what was happening and
64+
delving into its internals, so I could help other developers from my
65+
company when something unexpected happened with Git.
66+
67+
This way, Git always felt like the right choice.
68+
69+
* **How do you feel your contribution has impacted the Git community
70+
or the broader open source ecosystem?**
71+
72+
My GSoC project was to create the new command [`git repo info`](https://summerofcode.withgoogle.com/archive/2025/projects/fGgMYHwl)).
73+
It was released in Git 2.52.0 and, like many other new Git features, I
74+
expect it will take some time to be widely adopted, since it's only
75+
available in bleeding-edge repositories. But I expect that it will be
76+
useful for forges, CIs, local tools, scripts, and other tools that
77+
depend on Git.
78+
79+
* **Is there any aspect of Git that you now see differently after
80+
having contributed to it?**
81+
82+
I can't think of anything that I see differently after GSoC, but my
83+
previous contacts with Git's source code made me realize the importance
84+
of having a good commit history with good commit messages. It also made
85+
me understand how powerful Git is as a debugging and searching tool.
86+
87+
* **How do you balance your contributions with other responsibilities
88+
like work or school?**
89+
90+
This year, I was more focused on finishing my master's research and I
91+
didn't have too many conflicts with GSoC, so I could focus on my
92+
master's when my patches were under review. However, I must admit that
93+
one of the reasons that I didn't apply to GSoC before was that, here
94+
in Brazil, we typically have final exams in June, which makes it hard
95+
to balance them with something else.
96+
97+
* **Can you share how GSoC helped enhance your technical and
98+
non-technical skills (like communication, project management,
99+
etc.)?
100+
101+
I see Git as a product created by developers, for developers, and I
102+
think that here we sometimes need to do the work that in other contexts
103+
would be done by product owners and designers. I felt that especially
104+
during code reviews, which were often more focused on product and design
105+
decisions rather than the code itself. I had to learn how to discuss
106+
these kinds of decisions, always aiming to do what is best for Git
107+
and its users.
108+
109+
* **What was the biggest challenge you faced during your contributions
110+
to Git, and how did you overcome it?**
111+
112+
I think that the biggest challenge was the complete redesigns of
113+
`git repo info` during the GSoC period, which made me re-write it from
114+
scratch several times. I think this was a consequence of my previous
115+
answer and that this challenge was solved itself.
116+
117+
* **Have you thought about mentoring new GSoC / Outreachy students?**
118+
119+
Yes, it would be very nice!
120+
121+
* **If you could get a team of expert developers to work full time on
122+
something in Git for a full year, what would it be?**
123+
124+
Git is amazing and I think we all agree that it makes the programmers'
125+
lives easier. It would be great if we had a GUI wrapping Git but
126+
targeting non-technical users.
127+
128+
* **If you could remove something from Git without worrying about
129+
backwards compatibility, what would it be?**
130+
131+
Perhaps commands that accumulate responsibilities, like `git checkout`,
132+
`git reset` and `git rev-parse`. They make sense from the Git
133+
perspective, but I think they are confusing from the users
134+
perspective.
135+
136+
* **What upcoming features or changes in Git are you particularly
137+
excited about?**
138+
139+
Some that come to my mind are:
140+
141+
- Patrick Steinhardt's new [`git history`](https://lore.kernel.org/git/20250819-b4-pks-history-builtin-v1-0-9b77c32688fe@pks.im/)
142+
command: rewriting history is essential to keep the repository sane
143+
and useful as a data storage, if done correctly. Currently we do that
144+
through interactive rebase but I think it can be intimidating for less
145+
experienced users. Jujutsu proposes a more straightforward way to do
146+
that and it's nice to see Patrick bringing it to Git.
147+
148+
- Justin Tobler's [new `git repo structure` command](https://public-inbox.org/git/20251217175404.37963-1-jltobler@gmail.com/):
149+
of course I'm interested in this subcommand since it is the sibling of
150+
my GSoC project. But it's not only because of that: a Git repository is
151+
a very rich source of information and `git repo structure` will be a
152+
powerful tool to retrieve it.
153+
154+
- Julia Evans's [contributions to documentation](https://public-inbox.org/git/?q=f%3A%22Julia+Evans%22&r=):
155+
Julia has been producing high-quality content about several programming
156+
topics for years. I'm happy to see Git being documented by someone so
157+
committed to spreading knowledge and who knows how to explain advanced
158+
concepts using a simple language.
159+
160+
* **What is your favorite Git-related tool/library, outside of Git
161+
itself?**
162+
163+
I use [delta](https://github.com/dandavison/delta) a lot, I like the way
164+
it highlights diffs. Other tools that I find interesting are [Jujutsu](https://docs.jj-vcs.dev/latest/)
165+
and [Magit](https://magit.vc/), but I don't use them too much.
166+
167+
* **What is your toolbox for interacting with the mailing list and for
168+
development of Git?**
169+
170+
I like desktop mail clients, but I don't have a strong preference. On
171+
Linux, I use Thunderbird. On Mac, I use Apple Mail. I also have some
172+
GMail filters for classifying the messages (patches, What's Cooking and
173+
Rev News announcements).
174+
175+
However, those mail clients don't have code syntax highlighting and it's
176+
hard to read the patches inside them. For that purpose, I use
177+
[patch-hub](https://github.com/kworkflow/patch-hub), a TUI for reviewing
178+
patches from kernel mailing lists (including Git).
179+
180+
* **How do you envision your own involvement with Git or other open
181+
source projects in the future?**
182+
183+
There are some things I want to finish in `git repo info` and I
184+
still send patches for it. I enjoyed contributing to Git and I
185+
don't want to stop here.
186+
187+
Outside Git development, I'll give an advanced course on Git next
188+
month. It will be a great opportunity to share what I've learned here
189+
with other people.
190+
191+
* **What is your advice for people who want to start Git development?
192+
Where and how should they start?**
193+
194+
Read the [Git Internals chapter from Pro Git](https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain),
195+
follow everything described in [Hacking Git](https://git.github.io/Hacking-Git/),
196+
and work on a [microproject](https://git.github.io/SoC-2025-Microprojects/).
197+
198+
* **Would you recommend other students or contributors to participate
199+
in the GSoC, Outreachy or other mentoring programs, working on Git?
200+
Why? Do you have advice for them?**
201+
202+
Yes. I mean, I've already recommended some people from my university to
203+
apply to GSoC or Outreachy on Git and gave some tips to them. Some of
204+
them have already sent patches that were accepted.
205+
35206

36207
## Other News
37208

0 commit comments

Comments
 (0)