Essay
A Weird Way into Open Source
I got into open source partly because I needed to graduate.
I was doing the International Baccalaureate in high school, which meant completing Creativity, Activity, Service, usually shortened to CAS. Alongside our academic subjects, we had activities to undertake, reflections to write, and a coordinator who would eventually need to be satisfied with what we had done.
The service component produced quite a variety of answers. Some classmates put in dozens of hours volunteering, collecting plastic bottles and attending activities that began before sunrise or continued after sunset.
I read the requirements rather carefully.
What caught my attention was the emphasis on responding to an actual need. Somebody had to need the thing you were doing. As I understood it, spending a long time on an activity could not make up for that condition.
At that point, I could barely write a for loop. I did, however, spend enough time online to know that people were building things together, and that their lists of unfinished work could be remarkably long.
Some of that work involved translation and small documentation edits.
A programmer could make something useful to people around the world without speaking the languages those people used. Documentation needed translating. Interfaces had missing strings. Even an existing English explanation could leave a reader unsure what the project meant.
The work could also be done in an air-conditioned room. I considered this a favourable arrangement.
This was before ChatGPT. Machine translation existed, but anyone who used it was familiar with the distance between producing a sentence and producing one that made sense in its setting. Even a short piece of text could depend on what the reader was supposed to do next.
So I tried translation and small documentation edits.
One contribution was a sentence in the README of a Chinese cooking project. It explained why the project’s content was in Chinese. I submitted an English revision, the maintainer asked another contributor to check it, and they suggested different wording. I updated the sentence, and the pull request was merged.
Elsewhere, I added an English explanation to a project called robFood. The name referred to getting groceries faster; I thought someone encountering it without the Chinese context might take “rob” rather literally. That explanation was accepted too. Some of my contributions were about as small as that.
I made more small contributions across different repositories. I spent enough time looking for opportunities that GitHub’s repository discovery pages became part of the process. I would browse around, see what people were making, and look for something I could contribute.
That is a slightly peculiar way to encounter software. The question bringing me to a repository was whether there was some work I could do there. I did not need to understand everything the project was trying to accomplish before finding a small part I could help with.
The work itself, added together, may have taken less than a working day. My coordinator accepted those contributions as service without much difficulty.
That was my experience at my school. I have no idea how the same proposal would fare with somebody else’s coordinator today.
I also cannot offer a particularly heroic account of my intentions. I wanted to satisfy a requirement. I liked computers. I had found useful work that I could do without standing outside in the heat. Those considerations coexisted quite comfortably.
The work still had to be useful.
I find that coincidence more interesting now than I did then. It would be easy to arrange the story into an early expression of some conviction I was always going to develop. The school requirement would become an incidental detail, and my contributions would point neatly towards the interests I have now.
But the requirement was part of why I looked. So was the prospect of doing something I found agreeable.
There is something worth keeping in that less orderly account. Participation can begin before a person has decided what participation means to them. A task is available, they can do it, and their reasons for doing it may have very little to do with the reasons the project exists.
Perhaps a community does not need complete agreement about those reasons. It does need the work to make sense to the people receiving it. My interest in obtaining service credit could explain why I submitted an edit; it could not settle whether the edit was any good.
That seems a fair arrangement.
I was already comfortable spending time online. What I had found was a way for a small part of that time to meet a need beyond my own screen. The air conditioning remained a considerable advantage.
I needed something for my school record. Somebody else needed help with a piece of text. For a little while, that was enough to get us working on the same thing.
Cited works
If something here caught your interest, feel free to spend a little time with these works and projects.
- Creativity, activity, service International Baccalaureate. Current background on CAS; the experience described here is a personal recollection.
- An English README revision YunYouJun/cook, pull request #39. The proposed wording, review, revision, and merge in June 2022.
- Explaining the name robFood Sean529/robFood, pull request #12. An English clarification added to the README and merged in June 2022.