Community stories
programmingby Theo · 515 words · 592 views

Issue #212

I maintain a small library about four thousand people use. Eighty-one open issues. This is about the one where someone sent a test.

I maintain a small open source library. About four thousand people use it, if the download numbers mean anything, which they mostly don't. It parses a file format that most of you have never heard of and that a specific kind of engineer needs twice a year and then swears about. I wrote it in 2017 for a job I no longer have. I've kept it going since then in evenings, some weeks, and not at all in others. There are eighty-one open issues. I have read all of them. I have answered maybe half. I want to tell you about issue #212. It was opened in February by someone with a username that was just a string of numbers. The title was "doesn't work." The body was a stack trace, pasted without formatting, and a single line: "please fix asap this is blocking production." I have a rule about "asap." The rule is that I close the laptop. Two days later, a second comment from the same account. "any update??" I wrote back, politely, because I try. I said I couldn't reproduce it from a stack trace alone, could they share the file that caused it, or a minimal version of it. I said I do this in my spare time and I'd look when I could. Silence for three weeks. Then a comment from a different account. Someone called Marit. She said she'd hit the same crash, she'd spent an afternoon on it, and she thought she knew what it was: a header field the spec said was fixed-width and that one vendor, only one, was padding with a different character. She attached a sample file. She attached a failing test. She attached, at the bottom, a diff, about fifteen lines, with a note: "not sure this is how you'd want to structure it, happy to change." I sat there for a bit. Eight years. Eighty-one issues. And this was the fourth time anyone had sent a patch that came with a test. I reviewed it that evening. The diff was fine. Better than fine; she'd handled the edge case I'd have missed. I asked her to change one variable name, because I'm human. She changed it within the hour. I merged it and cut a release and wrote her name in the changelog.
The string-of-numbers account never came back. I hope their production is fine. I genuinely do. Marit sent a second PR two weeks later, for something unrelated. Then a third. In June I asked if she wanted commit access and she said yes, and then she said, "I should probably say, I only started using it because of the crash. I don't even need it anymore. I just kept finding things." That's how I got into it too, I told her. Something didn't work and I couldn't leave it alone. There are seventy-four open issues now. She closed some. Some she just answered, which counts. I still read all of them. But I've started, some evenings, closing the laptop earlier than I used to, and not because of an "asap."

How hot is it?

Not rated yet
#open-source#maintainers#netherlands#first-person

Themes: programming · software development · library maintenance · user contribution · collaboration · code review

Comments

Loading comments…