Join the 85,000 open source advocates who receive our giveaway alerts and article roundups.
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.
Get the newsletter
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.
IRCYou 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.
Want to learn more about IRC? Check out our free IRC cheat sheet.
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.
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.
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."
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.
To learn more about Riot, go check out our full introduction to the project.
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.