Collaboration and communication tools are essential for all businesses these days. Slack and Microsoft Teams are the popular choices in this market. While these tools work well, they have some downsides. First, they have a per-user pricing model which makes it quite expensive. Second, there is growing concern for data privacy and control, making many people look for alternatives.
In this post, we shall see four popular open source alternatives to slack for team communication and collaboration. Because they are open source, they can be installed and run on your server, giving you complete control of your data. We will cover the different communication styles supported by each app. This will help you make an informed decision on which app to use.
Alright, let's dive right into it!
Rocket.Chat is one of the most popular and active open source projects. Rocket.Chat initially started out as a live chat widget - a way for a website visitor to talk with the company. The Rocket.Chat team envisioned a product that was extensible and had lots of integrations. Given the initial small team size, they decided that it was best to Open Source it and build a community to develop all the required features. You can listen to Rocketchat founder Gabriel Engel's talk on the history of Rocket.Chat here.
Today, Rocket.Chat is one of the most feature rich Open Source chat applications. It has almost all the features of Slack with no limitations. This includes Public & Private Groups, File Sharing, Video Call, Custom Emojis, Full text search, Live Chat and Screen sharing.
Matrix.org is an open standard for secure, decentralised, real-time communication. The big picture is that users/teams run their own server. These servers can have 'rooms' which users can subscribe to and talk to each other. The Matrix protocol provides federation - meaning that a server can talk to another server. With federation, users of one server can subscribe to rooms in another server. When you send a message in Matrix, it is replicated over all the servers whose users are participating in a given conversation. This means that every server has total self-sovereignty over its users data - and anyone can choose or run their own server and participate in the wider Matrix network.
Matrix itself is just a protocol, not a piece of software that you deploy. Synapse is the implementation of Matrix from the core development team at matrix.org, written in Python/Twisted. Their are other implemenations like Ruma written in Rust, Dendrite written in Go and Construct written in C++. As of this writing, only Synapse is fit for production use.
Once Synapse is deployed on the server, you can connect using a variety of clients. Riot is the most popular web client.
A great piece of news is that Mozilla has recently decided to use Matrix to replace it's IRC use.
Zulip started it's life as proprietary software by startup called Zulip, Inc. This startup was acquired by Dropbox and the code was made open source. The open source project was a major success and in 2016, Kandra Labs was setup to steward and financially sustain Zulip's development.
It is quite common for chat rooms to get cluttered with conversations and it can get very hard to keep track of them. Zulip implements message threading as a first class citizen and is one of it's unique value propositions. It also has all the standard features that one expects from chat software - Emojis, File Upload, Code & Quote blocks, Video conferencing.
Mattermost is an open source, private cloud, Slack-alternative written in Golang and React. Unlike the projects above, Mattermost is not 100% open source but rather open core. The free open source version is best suited for teams. There is a separate enterprise edition which has a per-user pricing based on the features you need.
The Mattermost web app and mobile apps are extremely slick and polished. Possibly the most important thing that you need to know is that the free edition has no access control - it is meant for use by teams where people know and trust each other. For example, anyone in the chat can archive or edit any channel. In addition, there is no way to set a reasonable password policy that requires more than 5 chars (which is important since all users in the channel are essentially admins in the free edition).
Rocket.Chat is a feature rich alternative to Slack. Matrix is a great choice if you want to dip your toes into the world of federated decentralised chatrooms. Zulip offers threaded conversations as a first class citizen and it's best to first try it out and see if you like the UX and the conversation style suits your team. Mattermost Open Source Edition has a clean and beautiful UI best suited for small teams.
Cloudron is a platform that makes it easy to run and manage web apps like WordPress, Nextcloud, GitLab on your server. Rocket.Chat, Mattermost and Matrix are all available on the Cloudron Store and can be easily installed on your server with a few clicks.