This wiki post is aimed to answer this meta question on how to build a community within SO.

You mentioned the Python community as part of your question, so I thought it a good idea to give a quick summary of what we’re doing. This unfortunately won’t answer your question fully, but it might help to spark discussion/ideas by presenting how one particular community does things.

From here on I’ll refer to the community I’m a part of as the Python community, but in actual fact we are a small subset of the active users in the Python tag. Granted, we are an active subset, and you’ll find more than a few questions that have been closed purely by members of our small community, but please bear in mind that we don’t speak for Python as a whole.

The seed of our community is the Python chatroom. Before having a fancy(ish) website it was simply a room full of Python users who enjoyed discussion. This chatroom is an important, vital part of our community. Without the chatroom as a beginning, there would be no Python community with associated website. I don’t know if bash has a chatroom, but I think that having an active chatroom on SO is imperative. The use of a chatroom allows users to discuss problems and allows the community to grow. It is difficult (and frowned upon) to discuss issues in a comments thread, having a chatroom allows somewhere for these discussions to progress so that you can decide upon, for e.g., canonical answers.

Eventually, it was decided by some of our more ambitious users that we needed a website for coordinating and presenting our work, thus Stack Overflow Python was born. Having a website allows us to put together a list of canonical questions for closing as duplicates, these duplicates are curated by members of our community, with people in chat that we know and trust being given an Editor role on the website such they can add/remove/edit as they see fit. We also have a wiki that can be used by the community for various things, hell I drafted this very answer on the wiki so I could show it to others before submitting it…

In terms of how the community manages itself, it helps that we are a particularly small community who are all working towards a common goal of helping people and keeping the Python tag relatively clean/free of trash. We have Room Owners (ROs) who generally oversee things in chat, some of the ROs (and a particular bird-shaped non-RO) work together on the website, which as Martijn has mentioned is open source. We have a Trello board which we use in planning our projects. Generally, as we are all working towards the same end, people are willing to accept the ROs to guide the community as a whole, though we do also hold quarterly meetings where any issues can be brought up in a formal discussion dedicated to the community.

In conclusion, I’ve given a brief summary of how things work in our small neck of the woods. The main thing driving our community is wanting to help others, and wanting to keep our tags ‘clean’. If you’re going to want to start a community then I’d suggest the first thing to do is to start a chatroom where you can try to get other users active, if bash doesn’t have one already. If you’re looking for a simple way to list canonical questions, I’d suggest setting up a Trello board (or similar). This would allow you to add sub-topics and such and is probably more versatile than the tag wiki, it would also allow comments if someone wants to suggest a better canonical question. If you manage to get the community going, you are welcome to use the open source sopython code for building a relatively lightweight website.