Despite the title this is less a directive and more a description of what has already happened, and how I came to realize it. Still, there are many who remember StackOverflow as a revelation in the mid-2010s and think some vestige of those times remain. They think if they make an effort to distill their confusion into a question and post it there they will be rewarded. Perhaps some scarce few will, but a better way exists.
A story: first, our hero, Joe Pointsman. Joe read Catch-22 in high school and was particularly struck by one passage:
His specialty was alfalfa, and he made a good thing out of not growing any. The government paid him well for every bushel of alfalfa he did not grow. The more alfalfa he did not grow, the more money the government gave him, and he spent every penny he didn’t earn on new land to increase the amount of alfalfa he did not produce. Major Major’s father worked without rest at not growing alfalfa. On long winter evenings he remained indoors and did not mend harness, and he sprang out of bed at the crack of noon every day just to make certain that the chores would not be done. He invested in land wisely and soon was not growing more alfalfa than any other man in the county. Neighbours sought him out for advice on all subjects, for he had made much money and was therefore wise. “As ye sow, so shall ye reap,” he counselled one and all, and everyone said “Amen.”
Decades later, Joe has actualized this and earned ten million Good Boy Points by not answering questions about CORS on StackOverflow. Due to an oddly common personality quirk, whatever in creation exists without Joe’s knowledge exists without Joe’s consent. So it is when our hero encounters a newly-posted question under the TLA+ tag about how to define a custom symmetry relation in the TLA+ toolbox. Joe does not know what TLA+ is. He does not know what TLA is an abbreviation for, and if he did, he would not know anything other than that. This is not due to a moral failing on Joe’s part. However, he is the protagonist, and protagonists act. Thus the question was immediately closed and later deleted. Problem dealt with. Consent restored.
Some time later, Joe decided to do a web search to learn more about this TLA+ thing. He discovered something awful: a mailing list, where people freely discuss TLA+ outside of his purview. He immediately drafted an email to the mailing list’s moderators:
I am Joe Pointsman, protagonist. I am very good at not answering questions about CORS. Grant me permission to delete any messages from your mailing list I so desire. I await your collaboration.
Sadly, Joe never received a response. However, he kept an eye on the StackOverflow TLA+ tag. People needed to know they could receive help for questions about TLA+. The best way to assist the odd person wandering in, Joe knew, was the virtual equivalent of a swift baseball bat to the face. In this way Joe contributed to the TLA+ community, assisting people in their difficult learning journey. Many of the people who took a baseball bat to the face stopped learning TLA+, and Joe accepted this with magnanimity even though it meant he would not earn as many Good Boy Points by hitting them again with a baseball bat. What mattered was that the warm, inviting TLA+ tag continued to lure other people in. And so it went.
So what
In technocrat vernacular we have a misalignment of incentives. Communities that form around languages, frameworks, and projects have some incentive to get more people to use them and join the community, either for an uninterrogated growth drive or because it’s nice to have other humans be interested in things you are interested in. In this regard communities are (usually) welcoming and tolerant of questions requiring some thought to answer, that have mistaken premises common to those learning new concepts, or that are just kind of lazy (in the broad view, all questions are lazy when answers can be found or inferred from somewhere). This alignment does not exist when people who have no stake in the community can moderate that community.
So, a call to action: delete your StackOverflow account. Let go of the FOMO that you could one day use it to learn something. You can use other channels, and by so using them you strengthen those channels. Here are some examples of other channels:
- The TLA+ mailing list
- The Lean zulip chat
- The Idris discord
- The GraalVM slack channel
- The Pine64 matrix room
- The OCaml discourse instance
Occasionally this alternative channel takes the form of a proprietary platform like Slack or Discord. I do not like these, but I still contend that they are preferable to StackOverflow, simply because of the incentive alignment. And yes, community ownership is not a panacea. The Arch Linux forums are rather infamous for being mean to people who have not put in the work when formulating their question, with the expectation that people will put in as much work to answer your question as you put in to ask it (a mutuality which, it should be said, can result in truly amazing tech support if you are up for it).
I wish there were a way to request that the TLA+ tag on StackOverflow be deleted. It is actively harmful, and will remain so, until that website finally goes away. Note that other narrowly-tailored instances in the wider StackExchange network are still quite good, for the basic reason that they are moderated by people who know & are curious about the topic under discussion. In particular I have been impressed by CSSE and QCSE.
Not much else to say. Choose ownership by invested communities instead of faceless gamified interlopers.