+1 to the other comments recommending Zulip over Mattermost. The threading model is fantastic.
Also, for a non-profit teaching coding note that they regularly have interns under the Google Summer of Code program and it's open source, so the students can even help with it.
https://summerofcode.withgoogle.com/programs/2025/organizati...
I believe we considered Zulip, but determined it's mobile app to be poor.
When was it looked into? The Zulip mobile app was rewritten in Flutter recently, that version was in beta for several months and was finally made the default Zulip app about a month ago. I haven't used Mattermost so can't compare, but the Flutter Zulip is much more responsive and nice than the previous Zulip app.