Translations: 中文

Update: We made a huge mistake in forgetting to review Riot — the only Slack alternative based on an open protocol, and the only Slack alternative to support end-to-end encrypted group chats.

Slack is a popular team communications application for organizations that offers group chat and direct messaging for mobile, web, and desktop platforms. While Slack offers many benefits to customers, there are also downsides to using the platform, including high subscription fees and the risk of a massive leak of private data if Slack’s servers are ever breached (again).

Today there are a growing number of open-source Slack alternatives available for people who want to avoid the trap of walled gardens and have more control over the security of their data. As part of our own search for a self-hosted Slack alternative, we reviewed the options out there.

Here are five of our favorites:

Friends

friends

Friends is unique among the Slack alternatives due to its use of peer-to-peer technology. Message authentication currently relies on GitHub but could be modified to use a decentralized alternative such as Blockchain Auth.

Technology

  • Pure JavaScript atop NodeJS
  • GitHub authentication
  • Bonjour (multicast DNS) for local chat
  • WebRTC connects peers, data is propagated using Hyperlog
Pros
  • Allows communication even if central server goes down
  • Works offline using Bonjour or LE Bluetooth
Cons
  • No e2e encrypted DMs
  • Centralized authentication via GitHub
  • Limited features; only supports group chat and direct text messaging + emojis
  • Empty testing suite, mitigated somewhat by having few features to test

Let's Chat

letschat

Let’s Chat, built by the company Security Compass as a 10% time side-project, is one of the oldest and most popular open-source Slack alternatives with over 7,000 stars and 960 forks on GitHub. Features include group chat, direct messaging, and private channels, along with many standard Slack features such as emojis, image embedding, and code pasting. Let’s Chat also has a Sandstorm app, making it easier for non-technical users to host their own Let’s Chat server.

Technology

  • Backend is pure JavaScript atop NodeJS
  • MongoDB for data storage
  • Frontend appears to use Backbone
Pros
  • Hubot support
  • Large community on GitHub
  • Many of the same features as Slack
  • Ongoing development from Security Compass
  • Sandstorm support makes self-hosting easier for non-technical users
Cons
  • No e2e encrypted DMs
  • No native mobile apps
  • No threaded conversations
  • No testing suite

Mattermost

mattermost

Mattermost offers group chat, direct messaging, and private chat rooms. Features include full markdown support, file uploads, archiving and search, and customizable themes, even allowing users to import their chat history and favorite themes from Slack. Mattermost offers several features that Slack doesn’t have, including search by hashtag, non-English channel names for multi-lingual teams, auto-highlighting of everything you write, and comment threads for easy-to-follow conversations.

Technology

  • Backend written in high-performance Go language
  • Frontend uses React
  • Support for both MySQL and PostgreSQL
Pros
  • Several features Slack does not have
  • Native Gitlab integration
  • Import user accounts, channel archives, and themes from Slack
  • Use the same webhooks as Slack to post messages from third-party applications
  • Has Docker containers ready to go
  • Has a testing suite with actual tests
Cons
  • No e2e encrypted DMs
  • No native mobile apps
  • No Sandstorm app

Rocket.Chat

rocketchat

Rocket.Chat is one of the most feature-rich open-source Slack alternatives, featuring group chat, direct messaging, private rooms, desktop notifications, media embedding, link previews, file uploading, voice/video chat, screensharing, and more. There are native applications for Windows, Mac, and Linux, as well as mobile applications for iOS and Android. Rocket.Chat also has a Sandstorm app so you can easily host your own chat server. Developers can use hubot to integrate with popular services like GitHub, Gitlab, Confluence, JIRA, and more. Upcoming features include OTR messaging, XMPP multi-user chat, Kerberos authentication, file sharing via p2p and scalable multi-cast, and much more.

Technology

  • Uses Meteor platform, including Blaze for frontend
  • Code is a mix of CoffeeScript and JavaScript
  • MongoDB (because of Meteor)
Pros
  • Tons of features
  • Sandstorm and Docker support
  • Native desktop and mobile apps created using Meteor
  • Supports voice/video chat and screensharing
  • Uses APIs, hubot, or webhooks to receive notifications from third-party services
  • Localizations for various languages
Cons
  • No e2e encrypted DMs
  • No threaded conversations
  • Virtually empty testing suite

Zulip

zulip-screenshot-preview

Zulip was originally an independent application before Dropbox acquired the company that built Zulip before the product even officially launched. The application now lives on as an open source project. Zulip features group and direct messaging, private groups, threaded conversations, in-line media previews, email and desktop notifications, and tons of integrations. In addition to working in the browser, Zulip also has native desktop and mobile applications for iOS, Android, Linux, Mac, and Windows so you can chat on almost any platform.

Technology

  • Server written in Python (Twisted + Django)
  • Frontend seems to be JavaScript + jQuery
  • PostgreSQL, Memcached, Redis, RabbitMQ
Pros
  • Real native desktop and mobile applications
  • Tons of integrations w/ unintrusive notifications
  • Threaded conversations
  • All the features Slack has and more
  • Extensive test suite
Cons
  • No e2e encrypted DMs
  • No Sandstorm app
Have you tried any of these apps or one we didn’t mention? Notice a mistake? Let us know by tweeting us or leaving a comment below.

Thanks to Greg Slepak for contributions to this blog post.

Donating = Loving!
You can empower our work by donating!

Comments

47 Comments

Ctrl+F, "irc" > "0 of 0" !? strange.

Greg Slepak

We did not mention IRC because we are not aware of a FOSS client for it that can be considered a Slack alternative from a usability perspective.

IRC is a protocol, not an open-source product.

Is you come from topic "Don't use Slack for FOSS" :D

TeMPOraL

Still, I'm surprised. Those solutions are little better than Slack - they're fragmenting communications space. What we need for an Slack alternative is a decent IRC client because hell, that's what Slack would be if you replaced their propertiary protocol with de-facto standard one.

Greg Slepak

We're planning a followup post that focuses on Slack alternatives that use standardized protocols. Still, none use IRC.

Setting up Rocket.Chat was amazingly fast. Git clone then 1 command did the trick, thanks to Meteor I suppose. I would like to see them drop CoffeeScript and move to ES6 though.

The less tech savvy people in my teams never had issues connecting to IRC, it's a matter of minutes before they understand how. Getting addicted to IRC is another matter, some people like it and some don't.

Smilies, previews and easy integrations are easy with IRC standard practices. Videos are unproductive so I never saw a channel which felt a need for them, can you clarify what you mean?

Federico

I still have no idea what Slack offers compared to IRC, because it wasn't included in the article, so I cannot tell whether you have some additional reasons to use Slack or IRC. If you could list your requirements, then I would be able to answer on whether IRC is suitable. As for "simply installing a Slack clone", it seems hardly easier than using IRC and running a command in a shell.

Curt Sampson

I still have no idea what Slack offers compared to IRC...

Perhaps you're not in the best position to be suggesting IRC as an alternative, then.

This article is aimed at people who already know what Slack is and what they need from it.

Martin

Slack is already set up. All these alternatives are also easyer to set up. Just poinr to web adress and shit just works. In irc you have to configure for it to work and it is not convinient. In big company people work outside company also. So it is just easyer to point address in some web address than set up irc client for every worker in company, Costs are less than paying to IT Tech to set up all clients for less tech savy.

Hi John Light, this post is awesome, thanks.

Could I translate it to Chinese that many chinese people can get it?

John Light

Please do! Be sure to share a link with us when you publish it. Thanks!

Greg Slepak

Thank you! We've updated the post with a link to your translation! Great job! :)

Vegard Løkken

Slack offers IRC-support through a gateway. It would be nice to know if any of the alternatives do the same.

Mattermost: "Matterbridge by 42wim is an open source IRC bridge for Mattermost and it’s been adopted by the Mattermost core team. Today, you can now join #matterbridge on irc.freenode.net to join a room connected to an IRC channel in the core team’s Mattermost site (of course, you can also talk to the core team directly on Mattermost as well on the nightly builds server).

Outgoing webhooks to support Matterbridge will be available in Mattermost v1.2 which ships November 16th (Mattermost now ships on the 16th each month)."

Lukemt

How about SpaceTalk? Did you try that too?

Greg Slepak

No we didn't know about it, thanks for letting us know! We might include it in a followup.

HerveM

I think you miss one thing here, how tools can be integrated to existing env. Like authentication backend ? MySQL / LDAP / API ?

Mattermost 'CE' is heavy attached to GitlabCE and will use same "subscriptions and licensing" think from Gitlab, advanced LDAP is only usable with "a commercial version" and so.. Non-Profit can't work with this. My 2cent.

Not a single one of these alternatives (or Slack, for that matter) is end-to-end (e2e) encrypted. That's huge.

Check out Balboa: it's semi-open source (you can read the source maps, crypto is on github), but it IS fully end-to-end encrypted: DMs, group-chat, file-sharing.

The security/crypto-minded can check out our security page: https://www.balboa.io/security.html

Just something to consider :)

Greg Slepak

Ken, Balboa is not open source, so it doesn't belong on this list. Its security also appears to suffer from the same problems described here.

Yeah, never suggested you should add it to this list, just thought I'd mention it since all the ones you listed had the same con (i.e. no e2e DMs). :)

To the points you bring up in your github post:

1) Unsigned code is indeed a legit concern for web-apps. To address this, we have a FireFox add-on that detects unsigned changes to the Javascript, similar to how Mylar works. We've open-sourced it: https://github.com/pkcsecurity/balboa-firefox-plugin.

2) Verifying public keys is also important, as you point out! Balboa allows you to check public-key fingerprints in-app. Also, public-keys are TOFU'ed so that this only has to be done once.

Looks like you guys have a great thing going at okturtles. keep up the good work!!! :)

Joe Johnson

I don't understand "security" companies that promote end-to-end chat and then are located in the United States. Makes no sense and no rational person would used them based on that.

THREEMA is a similar company to Balboa but I trust them because they are based in Swiss. Huge difference.

Matrix (matrix.org) is an open standard for decentralised persistent communication over IP.

Matrix consists of simple HTTP APIs and we also provide open source reference implementations for securely distributing and persisting JSON over an open federation of servers.

Matrix can be used for decentralised group chat, WebRTC signaling, Internet of Things data transfer, and anywhere you need a common data fabric to link together fragmented silos of communication - our aim is to link together as many ecosystems as possible so that users of one system can talk to users on other systems!

And we already have a slack-bridge!

Greg Slepak

Yeah Matrix is fantastic! We have a draft of a post in the works to cover it and in general discuss the importance of open protocols as far as decentralization is concerned. Our apologies that it's been taking a while (too much stuff going on!).

Thank you for your comment Oddvar!

[…] Educate others on why your favorite open source projects are important. This can be anything from writing a life-hacks-style blog post on how you use a particular open source app to get things done, to giving a lightning talk at your local hackerspace on your favorite project. You could even write a review of the pros and cons of similar open source apps, as seen in John Light’s 5 open source alternatives to Slack. […]

You might have a look at: https://ring.cx

p2p, encrypted and can be enbedded.....

Greg Slepak

Thanks, it's our list. These secure messangers are popping up faster than we can evaluate them.

[…] now it seems that the new TODO app is a chat client. There are already many full-fledged “Slack Alternatives” and the hobby projects also seem to be popping up a lot. One of my colleagues was even […]

Armel Laminsi

Thx for this great article.

Just a question : with any or some of the option above, can i publish a custom app on stores with the name of my organization (or my client's one) ?

I want user to donwload ACME app on stores instead of Zulip/Rocketchat/etc. ones. Is this possible ?

Why kind of competence should i look for a customization of any of these open source packages ?

Connor

ClearChat is the most secure Slack alternative on the market right now: https://clearchat.com/compare

Created by Jonathan Warren the founder of BitMessage - https://bitmessage.org

David G. Butterworth

It does not look like clearchat is opensource. The security elements appear to be, but the messaging system does not.

Hi Greg, great post and comments. Was the followup post you mentioned ever completed?

Greg Slepak

Hey Dan, thanks for the kind words! The followup post kept getting pushed back by higher priority items so I finally decided that perhaps it would just be best for Matthew (of Matrix) that write a guest post. He liked that idea, but I suspect the same thing has happened on his end, things just getting pushed back by higher priority items.

OTOH, they've been doing fantastic work!

Your right, RIOT is unbelievable. Do you know anyone there who I can get on the phone with?

Correction, Zulip does NOT have real, native desktop apps. Fro their page: "The Zulip desktop app is a native app wrapping the Zulip web application".

[…] an embarrassing better-late-than-never moment, we updated Five Open-Source Slack Alternatives to […]

Curry

All the alternatives on this list are good. I could add one more tool-Utopia p2p. It is an anonymous, encrypted application that is an all-in-one ecosystem. So far, only the desktop version is available. The app is free.