Free, open source alternatives to Slack for team chat

5 open source alternatives to Slack for team chat

When it comes to chat, there are plenty of open source options.

Free alternatives to Slack for team chat
Image by : 

opensource.com

What is your favorite open source Slack alternative?

In any collaborative environment, it's important to have good tools for communication. What tools work best for you depends a bit on your situation, but might include anything from mailing lists for email communication, Git or Subversion for version control, a wiki or Etherpad for collaborative authoring, a shared task list for organizing workflow, or even a full fledged project management suite.

One collaboration tool which has become indispensable is team chat. Whether your colleagues are sitting across the room from you or on the other side of the planet, the ability to communicate in real-time makes many conversations faster, easier, and can help reduce confusion that might emerge in asynchronous communication.

There's still a perception out there in some circles that chat applications can be a distraction, and I do believe it's important to have a commitment to reel in off-topic threads before they create a cognitive disruption. And it's equally important to be able to give yourself the space to work uninterrupted when you have tasks that require longer periods of concentration. As I write this, for example, I'm using at least two team collaboration tools, but the notifications are silenced so that I can check in periodically as the breaks in my work allow for it, just as I silence social media notifications when I really need to get stuff done.

I would advocate that for your team collaboration needs, you pick a tool that's exclusive to work, though not everyone agrees on this. Personally, I find it too easy to be distracted by non-work conversations when I reuse the chat feature of, say, a social media tool. I like to keep work separate so I can turn off personal communications when I'm at work, and vice versa. But do what works best for your team.

Slack quickly became the darling of software development circles, leading to the displacement of many other tools. An article in The Next Web proclaimed "Slack is quietly, unintentionally killing IRC," and this switch has also come to many open source communities. The developers behind Wordpress, for example, have switched to Slack for their team communications.

But Slack is a closed source SaaS tool, and it's far from the only name in the game. In fact, open source might be critical to your business chat needs. If you work with sensitive information or need to make sure that all communication stays behind a firewall, self-hosting might be your best option. And access to the source helps you ensure that the communication between you and your team isn't seeping out of your control through some nefarious addition to the codebase.

Let's look at a few open source alternatives, from old classics to brand new, that might be a good fit for you and your team's chat needs.

IRC

You didn't think we'd be able to start this list off without talking a little more about IRC, did you? Internet Relay Chat, or IRC, is a protocol which dates back to the late 1980s. Since it's been around so long, there are numerous open source implementations on both the client and the server side.

Coming with its age, however, are numerous drawbacks. It lacks many features one might expect in a modern chat client, from security to identity management to even just being able to easily transmit non-text components, like images, files, or emoticons (the latter might be seen as a plus to some, however). Some features have been implemented after-the-fact through bot services, including nickname management, logging, and other features, but these vary from server to server.

IRC does still have some things going for it, though. It's nearly universal, and clients are available for basically every platform out there. Though the command-driven interface isn't necessarily intuitive for beginners, many clients re-implement commands through a GUI. And if you're doing upstream open source development, there's a good chance you're already hanging out in IRC anyway, so adding a team server might be a path of least resistance.

slack_alternative_irc

Slack alternative: IRC

HexChat, one of many open source IRC clients. Screenshot by Jason Baker.

Let's Chat

A more modern approach to team chat is a program called Let's Chat, which is released under an MIT license and written on top of the popular Node.js platform. It comes with many of the things you might expect if you're familiar with a client like Slack: image embeds, @ mentions, file uploads, logging, etc. It features multiple rooms, which are a must if you're working on a team of more than a couple of people. And it's easy to install and self-host, either through a traditional method or by using Docker or Vagrant, or as a part of Sandstorm.io if you're deploying other tools for your team.

Let's Chat can also integrate with your existing Kerberos or LDAP authentication server, so you can use the same login you use across the rest of your organization. And it features an API so you can extend it or connect it with other tools. Want to try it out? Here's an online demo, although it's worth noting the demo doesn't implement all of the features available in the project, including file upload.

slack_alternative_lets_chat

Slack alternative: Let's Chat

Screenshot courtesy Let's Chat repository.

Mattermost

Mattermost is another very modern approach to team chat. Currently in its beta release, Mattermost is written in Golang with a good chunk of JavaScript under the React framework. It features private and public chats, including one on one communication, good archival support, and a very similar interface to Slack, including most of the features you've come to expect there. In fact, if you're already using Slack, there's an easy import function which lets you move over your current channels and archives. Mattermost also integrates into your organization's existing LDAP or Active Directory authentication systems.

One feature I really like is the ability to upload sound, video, or images directly from your mobile device, which seems handy when communicating on the go. Mattermost is licensed under an "Apache-wrapped AGPL" which is not unlike the license for MongoDB. Check out the source code on GitHub, or give it a try with its easy Docker-based installation.

slack_alternative_mattermost

Slack alternative: Mattermost

Screenshot courtesy Mattermost.

Rocket.Chat

Rocket.Chat is written in CoffeeScript and JavaScript on top of the Meteor framework. Like the two others directly above, Rocket.Chat is designed for you to download and run on-premise with a client interface for either desktop or mobile access. It hosts many of the same features as other modern clients, from desktop notifications to image and file uploads to an archived history with search, and integration with LDAP. Planned and in the roadmap are a native Android application, Kerberos support, and integration with many other tools from GitLab to antivirus tool for attached files.

Rocket.Chat features an online demo, and you can check out its source code on GitHub as well. Rocket.Chat is available under an MIT license.

slack_alternative_rocket.chat

Slack alternative: Rocket.Chat

Screenshot by Jason Baker.

Riot.im

One of the options which has become increasingly popular since this article was originally published, and now deserves its own spot in the list, is Riot.im. Riot has a collection of web and mobile tools which can be used to connect to Matrix, an "open network for secure, decentralized communication."

Riot is also perhaps the easiest of these tools to try, since its web client is hosted. You can also check out the full source for all of the projects on GitHub, under an Apache 2.0 license.

Thanks to bridge integrations, you can also use Riot to interconnect with services utilizing IRC, Slack or Gitter, potentially allowing you to replace multiple other clients with a single open source option.

slack_alternative_riot.im

Slack alternative: Riot.im

Screenshot by Jason Baker.

Other options

The list above is far from exhaustive, and I encourage you to look around and try a few others out before you make a decision. Have another favorite that didn't make the list? Let us know in the comments below so everyone can check it out!

This article was originally published in November 2015 and has been updated to include new information and additional tools.

Topics

About the author

Jason Baker - Jason is passionate about using technology to make the world more open, from software development to bringing sunlight to local governments. Linux desktop enthusiast. Map/geospatial nerd. Raspberry Pi tinkerer. Data analysis and visualization geek. Occasional coder. Cloud nativist. Follow him on Twitter.