We need more ephemerality in tech

MP 174: It's a wonderful word, and an especially important concept right now.

"Ephemeral" is one of my favorite words; it's one of the words I remember learning. I don't remember the context in which I first learned it, but I remember coming across it for the first time. I remember a distinct moment where I'd never heard the word before, and then suddenly it was a concept I was aware of.

I loved the concept of ephemerality immediately; something that appears for a brief moment and then is gone. Usually, something is called ephemeral if there's a bit of wonder about it. Something might be ephemeral if it lives for a short time and, in the wake of its disappearance, it leaves something meaningful behind.

I bring this up now in the context of working on gh-profiler. In its early implementation as a GitHub Action, it wrote profile data as automatically generated comments on new issues and PRs:

profile output shows username, and three colored dots with brief messages summarizing recent contribution behavior
gh-profiler output, written as a comment on a new issue.

That's nice for maintainers, because you get a quick sense of whether the new contributor is obviously a bot or a human submitting lots of AI-generated code to many open source projects.

A number of people raised the concern that while they understood the need for this kind of tool and the value it provides to maintainers, they were quite uncomfortable with the idea of profiling information lingering indefinitely in a growing number of open source repos.

This concern boils down to two specific questions:

How long does this data need to exist?
How can it be deleted as soon as it's no longer needed?

These questions centered around the idea of this data being ephemeral by nature, and the connotations of that word felt like a guiding principle in this work. In discussions about these questions, the answers became clear pretty quickly: The profile information only needs to exist long enough to help the maintainer make a decision about how much to engage with the contributor. A nice way to put a deterministic bound on that is "only as long as the new issue or PR is open." And that led directly to an answer about how it can be deleted. The comment was written by a workflow when the issue or PR was opened, and that same workflow can delete the comment as soon as the issue or PR is closed.

In recent years I've stayed in more regular contact with the people I see at conferences every year. It's a wonderfully diverse group of people with an impressive range of experiences. I appreciate feedback on topics like this from many peers in the Python community. Although I had some good ideas around how to think about and implement some of this work, I needed some validation around which direction to actually go with the implementation.

I named the branch for implementing this behavior ephemeral, and it felt really good to implement the concept. When someone opens an issue or PR on a repository with a profile_contributors.yml file now, a profile of their recent public contribution activity is generated. But as soon as the issue or PR is closed, that information is deleted. It's no longer needed, and it gets to just disappear.

The concept of ephemerality had me thinking about what's left behind after the profile information is deleted. For a little while longer, there's a record that the profiling Action was run. But action logs are rotated, so even that disappears after a while. My hope is that, with the steady evolution of this tool and others, maintainers can reclaim the primarily human experience of building tech that serves people instead of serving the tech that's being pushed upon us all.

I want to close with one of the most beautiful instances of ephemerality I've seen. One of my favorite mountains to climb in Alaska is named Bear Mountain. When you get out of the trees and into the alpine, the main ridgeline you follow has footsteps on it that you walk in for about 500 vertical feet; it almost looks like people have started to build a trail up there. But it's not from humans, it's from brown bears walking the same path over hundreds and thousands of years. An individual bear's footprints are ephemeral; they disappear in the next rain, snow, or wind storm. But the path they contribute to is lasting and beautiful.

southeast Alaska high alpine, with bear-paw-sized patches of bare dirt leading up the mountain
No bear makes a trail on its own, but many bears leave behind a path up a mountain.

We need more ephemerality, where no one is trying to make permanent marks everywhere. Our temporary roles in the world are enough. I wish more people understood this, and I'm grateful to be surrounded by many people who do.