News thumbnail
Technology / Thu, 03 Sep 2026 Wikimedia.org

The First Time My Code Was Merged into Open Source, I Felt Like I Belonged

That first contribution mattered more to me than its size because it showed me how open source really works inside a large community. I also made the dialog open immediately and show progress while OCR runs with each page appearing as it finishes. Finally, I made Approve save the results through the MediaWiki edit API and keeping the dialog open with a saving indicator. The moment I felt I belongedThe first time one of my changes was merged into the Wikimedia code I felt proud in a way I had not expected. What surprised me most about WikimediaI thought open source was about code.

This summer I participated as a Google Summer of Code 2026 contributor with support from the Wikimedia Foundation building a Bulk Ocr review workflow feature for Wikisource. It was three months that changed how I see myself as a developer. Here is what I built, the moments that stayed with me and the lessons I will carry forward. My full technical report with links to every change is on mediawiki.org.

I have been part of the Wikimedia movement since 2021, when I started as a volunteer editor. Over time I became an administrator( sysop) on Swahili Wikipedia where I review edits, help and mentor new contributors and and improve Swahili content. Being an administrator taught me how much a strong community and good tools matter to the volunteers who build free knowledge everyday.

What I set out to solve

Wikisource is a free online library where volunteers turn scanned books into text people can read and search. A tool called OCR turns each scanned page image into text and Bulk OCR lets volunteers run OCR on many pages at once instead of one at a time.

But there was a problem: the OCR text was saved straight to the wiki with no chance to OCR on many pages or review it first and Bulk OCR could even show a success message when some pages had failed. My project was to add a review step so users can see the results next to the original page images and check the quality and approve them before anything is saved.

Starting from the ground up

Before I could build anything, I had to set up a MediaWiki development environment on my own computer and this was my first real challenge. I use Parrot Operating system and getting everything working took hours of unfamiliar tools and docker confusing errors. I made an early decision that shaped my whole summer to understand the problems instead of looking for quick fixes.

My first contribution was a small bug fix that Bulk OCR could show a success message even when pages failed. The change was later abandoned in favour of the new dialog but the experience was priceless. It taught me the full contribution workflow reproduce a problem, understand the code, make a change, test it, submit it to Gerrit, respond to review and iterate. That first contribution mattered more to me than its size because it showed me how open source really works inside a large community.

Building Bulk Ocr feature

Instead of jumping into code I worked with my mentors to build a clickable prototype of the dialog first. It gave us something concrete to try and agree on before I built anything and it taught me that design is a conversation a shared prototype makes discussing an idea far easier than describing it in words. After the design was agreed, I create twelve smaller connected tasks on phabricator each focused enough to review on its own.

I built the dialog that shows the OCR text beside the original page image, so the user can decide whether to approve it. This became the foundation and my first major merged contribution. A book can have hundreds of pages so I added a sidebar using MediaWiki OOUI BookletLayout.

Because Approve affects many pages at once. I added a safety banner on the dialogy. I also made the dialog open immediately and show progress while OCR runs with each page appearing as it finishes. Because OCR does not finish in order page 10 might finish before page 2. I had to insert each result in the right position so the sidebar stays in book order. Finally, I made Approve save the results through the MediaWiki edit API and keeping the dialog open with a saving indicator. If some pages fail the error appears inside the dialog and the user can retry only the failed pages.

The moment I felt I belonged

The first time one of my changes was merged into the Wikimedia code I felt proud in a way I had not expected. My contribution was now part of software that real volunteers use to preserve books and documents. My small contribution now lives in a community used around the world. someone I might never meet could use the feature I had built.

The lesson I will carry forever

A reviewer questioning your contribution is not an attack, it is a gift. The strongest engineers are not the ones who defend their code. They are the ones who listen and decide with their team and do what is best for the project.

What surprised me most about Wikimedia

I thought open source was about code. I left knowing it is about people. I learned to coordinate with another developer when we were both editing the same file so our work came together instead of clashing. When I made mistakes which I did the community guided me to learn and grow without ever making me feel bad. Their kindness makes the Wikimedia technical community special.

I grew technically too. I learned not to rush into unfamiliar code, but to follow the patterns the project already used. My Git skills improved a lot rebasing across a chain of connected patches felt intimidating in week one and normal by the end. I learned to test and review other volunteer contributor patches.

Where it stands and what’s next

The core feature is complete it has already been tested on a live Wikisource and is available to administrators first so communities can test it carefully. There is still good work left, which I have documented and opened tasks for and I plan to keep working on it.

If you are wondering whether to apply or Participate

Do it. Google Summer of Code with Wikimedia is more than a coding task it is a chance to grow as an engineer and become part of a global community. Start communicate early, research before asking questions and never be afraid of feedback. Most importantly, remember that open source is about people as much as code. I will keep contributing to Wikimedia and one day I hope to mentor someone the way I was mentored. Maybe that will be you.

Thank you to my mentors Parthiv Menon and Satdeep Gill and to all reviewers and community. I am grateful

Can you help us translate this article? In order for this article to reach as many people as possible we would like your help. Can you translate this article to get the message out? Start translation

© All Rights Reserved.