Sitemap

One Micro-Commit at a Time: My GNOME Journey and OOSC 4.0

5 min readSep 12, 2026

--

Press enter or click to view image in full size
OOSC 4.0 (IIIT Allahabad, India)

How I found GNOME

I got into GNOME almost by accident. In October 2025, I connected with Aryan Kaushik, a member of GNOME’s internship committee who happens to be from the same city where I’m doing my engineering. That one conversation gave me a direction, where to look, what to explore, and how newcomers actually get started in a project as big as GNOME.

Then I found one of my alumni (Shobha Tyagi Mam) as a Dec 2013-Mar 2014 Outreachy (formerly Outreach Program Women) GNOME Intern and GNOME Foundation member 2012–2022. She guided me all through the way.

Following that thread, I started poking around different repos and eventually landed on gitg (GNOME’s Git client), which had an open migration project: moving the entire codebase from GTK3 to GTK4.

The migration

I didn’t do this alone. Two other fellows, Shivam and Sajal, together we built the migration on top of an existing MR from Alberto Fanjul, a GNOME community member and maintainer of gitg who’d already laid some groundwork.

Early on, we shaped the whole project: migrate in micro-commits. Instead of one giant sweeping change, we broke the work into small, reviewable pieces and squashed a few of them later once things stabilized, just enough to keep the history clean without losing the granularity that made review possible in the first place.

It wasn’t smooth the whole way through. The hardest part, honestly, was keeping the branch properly rebased. Staying consistent across a migration that stretched over months, while GTK4 changes and other MRs kept landing upstream, was a constant balancing act. I ended up with 20+ merged MRs by the end.

If I had to boil down the one lesson from this whole project, it’s this: don’t migrate large codebases in a single PR. Maintainers don’t have the bandwidth to review a wall of changes — and expecting them to is how good migrations die in review queues. Small, easy-to-review, easy-to-approve pieces are what actually get merged.

Why I wanted to speak

This year I attended GUADEC 2026 remotely, and it changed how I saw the whole ecosystem — the scale of it, the people behind it, and how much of GNOME’s progress comes from individuals just showing up and doing the work. It planted the idea that I wanted a stage of my own to talk about GNOME.

The final push came from watching Aditya from the GNOME Nepal team — his work made me want to go do the same thing: get up, share what I’d learned, and hopefully get someone else excited enough to start contributing too.

Get Divyanshu Rajput’s stories in your inbox

Join Medium for free to get updates from this writer.

That’s how I ended up applying to speak at OOSC 4.0, an international conference organized by OpenPrinting and led by Till Kampetter, held at IIIT Allahabad. I’d actually first heard about OOSC from a friend who’d previously been a GSoC mentee at OpenPrinting — small world.

The talk

My talk was titled “One Micro-Commit at a Time: Migrating Legacy GNOME Apps to GTK4.”

Press enter or click to view image in full size
One Micro-Commit at a Time — Migrating Legacy GNOME Apps to GTK4

I walked through the whole gitg migration — how we approached a large legacy codebase, what worked, what didn’t, and the rebase struggles that ate up more time than I’d like to admit. I was upfront about the mistakes too: migrating in one big PR is not the way to do it, and I said so plainly, because I think more people need to hear it before they make the same mistake.

I also talked about the human side of it — how getting involved in something like a GSoC-adjacent effort completely changed how I learn, and how much I’ve gotten just from being around people in the GNOME community who know far more than I do.

And I made a point of saying this clearly: not getting into GSoC doesn’t put you behind. I didn’t get in either. Open source was never really about the stipend or the program name on your resume — it’s about learning from the people around you and giving something back. That’s the part I most wanted people in the room to walk away with.

The Feedback

The response was better than I expected. A good number of students and other open-source contributors came up afterwards saying the talk had genuinely pushed them to want to start contributing — which, honestly, is the entire reason I wanted to speak in the first place.

I also got to sit down with Till Kampetter for about half an hour, talking through GNOME and OpenPrinting. That conversation is where I learned about an unfinished project in GNOME Settings for CUPS that still needs someone to pick it up — something I’m seriously considering.

Beyond that, most of my time at OOSC 4.0 went into conversations with fellow speakers and students there, comparing notes on our respective corners of GNOME, and there was a recurring theme: every project, everywhere, needs more maintainers and more contributors. It’s not a gitg problem or an OpenPrinting problem — it’s an open-source-wide problem, and it made me appreciate how much any single person showing up actually matters.

What’s next

I recently applied to UbuCon India, and if that comes through, I’m hoping to get a chance to talk about GNOME on that stage too. One talk led to the next connection, which led to the next idea — that seems to be how most of this works.

If you’re on the fence about starting somewhere in open source: you don’t need a GSoC acceptance letter to matter. Find one repo, one maintainer willing to point you in a direction, and start small. That’s genuinely all it took for me.

Press enter or click to view image in full size

--

--