Big fan of your holistic take on open source development Evan, it reminds me a lot of the Rust community which I hold in very high regard.
Would love to hear more about exactly how you envision such a system working within Discourse. I’m playing with it in my head and I’m having a hard time making it work without forcing a tad too much busy-work upon the poster. Most dev communities I’ve looked at, Meta included, deals with intent reasonably well simply by proper naming and description of its categories. A few take it one step further by using topic templates.
Maybe there’s more to be gained by recursively requesting the most problematic topics to abide by certain standards. Don’t hesitate to close flame-bait topics down – ask them instead to rewrite their post according to certain best practice principles, or post it elsewhere. discourse.elm-lang.org is your house after all so you shouldn’t be afraid to enforce pretty strict rules of civilized discourse.
One very interesting subject you touched on was the value of engagement with regards to particularly inflamed discussions. Similar to how so much of news media has resorted to prioritising divisive and shocking news reporting to maximise their ad impressions (i.e. max engagement), certain community members are very good at starting controversial discussions in the name of constructive feedback, which can quickly suck up a lot of the oxygen in a community. Discourse is already somewhat opinionated on what a successful community looks like, but we can do more to gently push community owners into the pit of success. Two things that immediately come to mind:
Engagement by itself is worthless
Most Discourse forums are not ad-based, so high engagement in an unconstructive debate is in-fact a negative-sum game. The absence of the “any traffic is good traffic”-incentive is something we can use to our advantage and we should be mindful of this in our user documentation and dashboard statistics.
How to curtail negative-sum engagement
Much easier said than done, but I think it’s well worth pondering. Discourse has lots of micro-optimisations already in place for this purpose (e.g. not allowing downvotes, rate-limiting posters who are dominating a topic etc.) and your suggestions could lead to further improvements. I’m gonna create feature stubs for your suggestions so far so that the community can help us flesh them out.
Lastly, did you see a big difference in tone and overall attitude between your Discourse and Reddit community? I see that in your communications you prioritise your Slack chat and Discourse forum over Reddit (e.g. on your community page it’s just listed for the purpose of “discuss blog posts”) which I think is the right way to go, but I wonder if if could be taken even further. I’ll expand if we take this discussion further.