Communities of all sorts, including open source communities, boil down to the daily interactions we have with one another. What we call “the community” emerges from a series of utterances and responses, which gives rise to relationships and networks.
This makes “good reply game” essential to create, sustain, and grow an open source community.
As part of the developer advocacy team here at Grafana Labs, I believe the concept of good reply game is worth exploring; it’s the essence of what’s behind most of the positive community interactions I’ve seen over the years. It’s also something I’d love to see more of, as it drives that “rising-tides-lift-all-ships” dynamic within OSS communities.
First, what is good reply game?
Author Visakan Veerswamy introduces the idea of good reply game this way:
“Every ‘utterance’ (status, tweet, whatever) is a bit of an invitation, a bit of a proposal. ‘Let’s play this game.’ When strangers read the proposal accurately, and support the game, a shared understanding develops. You can make friends this way.”
Good reply game is the art of replying in a way that supports the original poster or speaker. (Note: While this blog post largely focuses on good reply game in the context of online interactions, the concepts throughout apply to in-person interactions as well — after all, people are people, regardless of how they’re communicating.)
As engineers, many of us want to get to the technical root of the matter and focus discussions around facts. Many discussions boil down to a question, a technical discussion, and (hopefully) an answer. A question is a proposal: “discuss this topic with me.” A good reply game teases the discussion out and adds value to it.
To look at it another way, a good reply game follows the “Yes, and…” rules of improv comedy: if someone proposes a scenario, others in the group should accept what the improviser has stated (“Yes”) and then expand on that line of thinking (“and…”).
(As a sidenote, one of my favorite, non-technical examples of good reply game is when a group of friends in NYC dressed up as paparazzi on Halloween. They snapped photos of all the “celebrities” — aka, other New Yorkers in costumes — they encountered, and in doing so, fully supported the “proposal” of other costume-wearers and practiced a “Yes, and…” response.)
Beyond simple technical questions and answers, some of the most interesting community discussions start with more complex “how” questions. How should I implement Grafana in this particular environment? These questions don’t have simple yes/no answers. They involve trade-offs, back and forth, and eliciting additional information. When you spark one of these bigger discussions, everyone learns something in the process; it’s a pure win/win when we support one another’s proposals, ask questions, and explore a topic together. Personally, I like participating in these exchanges, and I’ve gotten great value from reading them “after-the-fact” in online forums, while seeking an answer to my questions.
When you spark one of these bigger discussions, everyone learns something in the process; it’s a pure win/win when we support one another’s proposals, ask questions, and explore a topic together.
A good reply game doesn’t mean everyone has to agree; it’s okay to question assumptions, or even reframe the discussion. Maybe the poster didn’t provide enough information for you to solve the issue, so you need to ask for more (this is quite common!).
Chiefly, all of this done in a friendly, constructive way, remembering there’s a human on the other side of the screen. Community is an infinite game, where the goal is to keep playing — never to win.
So, what’s bad reply game?
Now, let’s explore the opposite: “bad reply game.”
This involves criticizing the proposer of the question, changing the topic, or complaining about the details of the proposal (for example, pointing out that somebody didn’t format their code correctly). If every utterance is a proposal, or a bid, these responses deliberately ignore or denounce other people’s bids. Unsurprisingly, things never go well from there.
As an example, in 2018 and 2019, there was discussion within OSS communities about Stack Overflow being unwelcoming. It was easy to see why. Newcomers to the community were often told to ask their question on another platform, or that it wasn’t suitable to Stack Overflow. Sometimes, new users simply saw their question downvoted, or closed as a “duplicate question.”
Stack Overflow recognized these challenges and made a number of positive changes, which their community has discussed.
If good reply game develops shared understandings, and even friendships through time, bad reply game does the opposite: it creates an atmosphere of nitpicking and hostility.
Why this matters within OSS communities
OSS communities have many members who drop in, ask a question, get an answer, and then move on with their jobs. And that’s totally appropriate; the community is there to help people be successful. Even those who are “just” asking questions contribute value to the wider community. Haven’t we all Googled a question, found someone else who already asked exactly the same question, and applied the answer we found? If you recognize that, then you have been the direct beneficiary of what we’re talking about.
Here’s a small example from my personal experience. A user asked a question about LogQL on the Grafana community forum. I answered them, and provided a link to Grafana Loki documentation. But on the site, I can see that the link has been clicked dozens of times. When we respond to questions and conversational bids, we aren’t speaking only to the proposer, but to the broader community and the dozens, hundreds, or thousands who will show up later with the same question.
But even this is just the shallow end of what good reply game can do. Some community members engage even more heavily with the community. They meet each other at conferences, exchange tips and tricks, and sometimes even offer job opportunities and recommendations. Real friendships form.
Try to draw on your own experience within a technical community. What feels good? Most likely, it’s answers, discussions, different perspectives, and getting the help you need. What makes you feel bad or become disengaged? Probably being ignored or — even worse — being criticized. I try to bring this frame of mind into every technical discussion, just to meet humans as humans.
Try to draw on your own experience within a technical community. What feels good? Most likely, it’s answers, discussions, different perspectives, and getting the help you need.
Consider this excerpt from the 2023 “Code of Conduct” page for FOSDEM, an annual event for software developers: “Please be helpful, considerate, friendly, and respectful towards all other participants and respect the environment. …We’re voicing our strong, unequivocal support of exemplary behavior by all participants.”
This describes the kind of community I want to participate in, and community matters. Our interactions and utterances, and good reply game, are the bedrock of that community. There’s still plenty of room for vigorous debate and disagreement all while practicing these principles, and you’ll see just that in all the most interesting communities.
We’d love to hear your examples of good reply game. Head over to our Grafana community forum to get started — and feel free to tag me, @davidallen5, to discuss any ideas you have about this post or OSS communities.
Also, this post reflects some of our core values here at Grafana Labs — namely, helping each other thrive, sharing openly and transparently by default, and keeping OSS in our DNA.
If these values resonate with you, we’re hiring! Check out our careers page to learn more about working at Grafana Labs, including how we approach remote work and some of the perks of being a Grafanista. You can also peruse our open positions to see if there’s an opening for you.