I'm currently working on a project that needs a place for contributors and users to chat. Ideally something that is free, at least until the project is large enough to pay for a larger plan.
We definitely need a slack-like model to separate topics because it will ideally have both technical discussions around the project as well as a place for moderators and ideally even normal users to talk.
Itd be cool™ if it also had something like a forum/kb system and in a perfect scenario even a project planning component.
I've self-hosted Mattermost in the past and it went really well, but I would sort of like to avoid hosting yet another system if I can avoid it.
The project is currently not opensource, but we do plan on doing that at some point and could probably expedite that if it helped get us a free community plan.
We are currently using Zulip and while I do like it, its quite foreign to most users and I think thats harming peoples' ability to get involved. For non-technical users the slack model is already daunting and the Zulip one seems like its just too much.
Pick tools your ideal users already have.
My general ethos is to provide support in all the places, make the effort needed by users as minimal as possible. Then you can use various tools in the background to manage the mess, create fewer touch points for yourself