In Praise of Maintainers

We laud the developers of open source software. But the real heroes are the maintainers.


September 21, 2023

I love developing software. I love the thrill of the new, the excitement of seeing ideas come to life. I love the feeling of accomplishment when I’ve built something that other people can use. That’s why I release a fair amount of it as open source. It’s fun to see other people take what I created and use and improve it.

However, releasing all that software comes with a cost. People find bugs. People write asking for changes (sometimes demanding changes). People don’t like the way I implement something, or the way I indent the code, and send 500 line pull requests. And the more you release, the more that load builds, and the less time you have to build new stuff.

So I made the decision a long time ago to stop maintaining most of my open source projects. As a result, much of it falls into disuse.

If you look at successful projects, though, you’ll find that they are built on a solid foundation of maintainers. These are the people who invest countless hours making sure the code under their care works with the latest release of X, takes advantage of new standards, and contains as few bugs as possible. Oh, and they’ll be adding new features, too.

This is a massive job, probably dwarfing the original development effort. And it largely goes unsung.


One of the things I do when faced with a new language is to try to implement a basic Markdown parser. Markdown is ugly enough that you have to explore lots of language features to get it right.

When I first learned Elixir, I wrote a Markdown parser that was actually usable, called Earmark. It was used early on to format the documentation for Elixir libraries.

After a while, I reached the point where I had to move on, so I asked if anyone would be interesting in taking over the project.

Robert Dober stepped up. This was one of the most fortunate things that have happened to me in my open source career. Robert has not just maintained Earmark; he’s extended it in ways I’d have never imagined. It’s really his project now, not mine. And I’m so grateful for that.

But to my shame, I’ve never publicly thanked Robert for his work. So, as he himself steps down from the project, I want to say “Thank you, Robert, for all the effort and imagination you’ve invested in this software. You’ve made a major difference to the Elixir world, and made things better for developers globally.”

Give a maintainer a hug today. They deserve it.