As to federation, the ActivityPub protocol underlying Mastodon, and a bunch of other projects, was originally designed to support it -- but the devil's in the details, particularly regarding finding a common data model (do you have topics within channels, like Zulip does? what do you support within a channel beyond plain text messages? etc)
Isn't Zulip fully open source? That's what they say on their site: https://zulipchat.com/
Riot is being deployed as the govt chat infrastructure for 5 million users in France.
The SaaS version is modular.im (much cheaper than slack)
Is that a done thing ? I haven't heard about it in a while.
Disroot's announcement was before the switch.
The team even talked about it with one of the devs in the latest Matrix Live: https://www.youtube.com/watch?v=Ad3oqEo5leM
It's pretty great. (Not just for mattermost, but most major chat plaforms)
Because as a slack replacement, riot is pretty cool (and there some redesign happening ). Most of the criticism is around its IRC bridging, which I agree is a little unstable. But let's face it - nobody else (slack et al) even tries.
Also, Zulip is full open source, not open core (meant as a response to rst's comment, not the parent...). Mattermost is open core.
You should check on XMPP web solutions such as Movim https://movim.eu/ (P.S. I'm the author).
It's like gelatine salad. It's food but people these days do not have much appetite for it anymore.
However I wish they'd fix their IRC bridge, which has some issues, like not reporting the full list of users, which is driving me insane.
Speaking of Slack-like, the best alternative remains in my opinion good old IRC. I'm a user of https://irccloud.com for always-on presence on IRC and it has better clients than Gitter.
Gitter search UI is the worst, and search itself is useless, often returning no results when you can spend an hour scrolling to find what you want manually.
This is inexcusable when Gitter is your project's de facto Q&A place instead of more structured places like StackOverflow or Github issues.
And so the users are left with a messy stream of collective consciousness that is impossible no search or navigate effectively.
Speaking as a library maintainer, I've got GitHub issue that stayed there for months before I replied. That's because my time as a contributor is very limited and I get fatigue when replying to too many support tickets.
And you'd think, oh wait but there are other people willing to reply. But not really. Forum, email groups, even StackOverflow only work when the projects you're talking about are insanely popular.
This is because of two reasons:
1. people with problems are bad at describing those problems — this is why StackOverflow answers often don't answer the freaking question, but rather try to guess what the author wanted, a trend that's driving me insane, because I often want the answer to the question being asked and not something else; whereas on a chat channel, people have conversations, which helps clarify the intent
2. people are afraid of being wrong; but chat is more casual, so in my experience more people end up participating
Chat has other benefits. You can have off topic conversations, you can make jokes, you can make friends. I do wish Gitter had threaded conversations. They promised it at some point but nothing came of it.
Also, I do like Discourse (https://discourse.org). It does a good job to mix some chat features with forums. Scala has Discourse forums, like for example https://users.scala-lang.org ... but the Scala Gitter channel is way more popular.
And one final thought: I know communities that have virtually no meaningful online presence. You might be annoyed at our choice for using Gitter, but at least you've got some chat channels to go to.
I've never had much satisfactory help from chat. I think I've never quite understood the social element of it. Do I wait for a pause? Do I make friends first? Just ask my question and wait?
Ask a question and hang around for half hour to see if anyone replies?
And in the meanwhile 6 different conversations, statements, off-topic chats and other noise is scrolling past me completely ruining any focus I had.
I find them utterly hateful things when I'm in problem-solving mode. Maybe they are more fun when you're in a "sort of working" mode but that's not when I need help.
Our experiences are wildly different.
On Gitter, on the channels I hang out, I think I got answers to my problems in 99% of cases.
Without the AI tier though scaling this is near impossible as you tend to a "most recent loudest" priority system, certainly if your support case to support rep ratio isn't balanced. Users also have to resort to repeating requests in a chat-only forgetful system.
This is why I ended up investigating hybrid sync/async interaction systems that cater better for not forgetting threads.
Search definitely needs improvement and is on the roadmap. You can track these issues,
- https://gitlab.com/gitlab-org/gitter/webapp/issues/1925 - https://gitlab.com/groups/gitlab-org/-/epics/387
You can track https://gitlab.com/gitlab-org/gitter/irc-bridge/issues/52 for seeing more users in the member list/roster. There is a proposal there to trickle in new users to the list every time a new message comes through the bridge with relevant code linked (merge request welcome).
that said, gitter has many useful features that aren't available on irc: inline code with syntax highlighting, inline images, etc.
If you want to stop email notifications, https://gitlab.com/gitlab-org/gitter/webapp/blob/develop/doc...
You could also adjust your notification settings to "Mute", https://gitlab.com/gitlab-org/gitter/webapp/blob/develop/doc...
But the real problem is that unread item count is coupled to the emails being sent out, https://gitlab.com/gitlab-org/gitter/webapp/issues/1205. So if you have notifications set to "All" or "Announcements" which track unreads, you will get emails for any unread messages in the room which isn't desirable.
Works for: Slack, Zulip, Mattermost, IRC, Telegram, Gitter, Rocketchat, XMPP, Steam, Twitch, Riot, and some others.
Some of the nifty things it supports (to various degrees): - rethreading of Slack messages between instances. (future) interop with Mattermost possible. - edits and deletions going through most platforms. - relaying of "user is typing" messages on Slack. (future) interop with Mattermost possible. - (future) hack to relay emoji reactions via editting a "prosthetic attachment" in Slack. - sync'ing channel topics. - (future) still not generalized, but on a local branch, I've been using an option to set a channel with a language, and have all incoming messages translate via Google Translate.
This last feature I'm pretty excited about. The goal is to allow anyone who finds themselves interested in #un-projet (that's french) to simply create #un-projet-en, and have everything auto-translated to Ye Olde English. If people in #un-projet don't understand your english replies to their french nonsense (ha!), they can create #un-projet-fr and have all your english belligerence translated into their One True Glorious Language.
As stated, this allows bridging between many different services. It's config is via toml file, and not a UI, but I am excited to later build that out. I'm particularly excited to explore how public chat gateways could be offered as a community service, kinda like TravisCI.
Like imagine if someone could send you a link, as a member of a Slack or Mattermost team, and logging in would allow you to join a giant multi-team/multi-platform gateway that others were already using. I feel that this could help un-silo us until we all figure out the one true protocol ;)
Sign up for Spectrum, go to 'sign in with github' as there's no option but to sign up through another system (FB, Google, or Twitter {sigh}), and then get the standard warning on the Authorise page:
"Not owned or operated by GitHub"
No doubt it'll be updated soon.
Very useful for organizations replacing phone workflows, not useful for replacing conferencing and chat workflows.
As I understand it, it means we now have at least three “slack-like”, well-backed, open-source, community-centered chats: - Gitter, now owned by GitLab; - Spectrum, now owned by GitHub; - Mattermost, independent, but fully integrated within GitLab.
That's great to have credible alternatives to the proprietary behemots that are Slack, Discord and others, but I wish they were able to federate somehow, so that as a user, I don't have to have an account and a browser tab on each instance of each platform, with slightly different user interfaces and features (in addition to my IRC client).
I remember there was a suggestion for Gitter to use the Matrix protocol at some point, but it doesn't seem to have gained much traction. That would be so awesome to have all of them using it, so that one could keep all their discussions in the same place (eg. same mobile application, same user-chosen chat client…).