And Matrix is currently too heavy to self-host which means relying on Matrix.org (who also controls the spec).
My vote would be an XMPP MUC that’s bridged to IRC. This keeps it lightweight & decentralized. Both of these options could be ran with hundreds or thousands of users on a potato compared to Matrix.
I've been selfhosting a dendrite matrix instance for about a year now. I'm only in a few public channels of a few hundred users, but also #matrix:matrix.org which has 44000 users and it hardly uses any resources.
I have no experience with Synapse which was apparently quite the hog as far as I know, but Dendrite is quite lean it seems
I’ve heard it has less system resources, but the Synapse compatibility needs to be maintained. One of the bigger runaway issues tho becomes storage as the protocol requires replicating the entire chat/attachment history of all users for all of their DMs & chatrooms which I’ve read caused a lot of folks to shutdown their servers either because Postgres bloated up or hosting all the static content got too costly. This model makes sense when folks treat chatrooms like a permanent log, but if you treat it more like IRC, there would be no requirement for replication beyond a couple of messages for a new user to see the current topic to participate (while also covering the case that searching these chatrooms is a pain & much of their discussions should have moved to forums/mailing lists).
My vote would be an XMPP MUC that’s bridged to IRC. This keeps it lightweight & decentralized. Both of these options could be ran with hundreds or thousands of users on a potato compared to Matrix.