5 open source alternatives to Slack for team chat

When it comes to chat, there are plenty of open source options.
1 reader likes this.
open source button on keyboard

Opensource.com

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.

Mattermost

Mattermost is a very modern approach to team chat, and offers both self-hosted and hosted options. It's 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." Check out the source code on GitHub, and then give it a try.

 

Slack alternative: Mattermost

Image courtesy Mattermost.

Zulip

Released under the Apache license and primarily offering hosted instances, Zulip is another cross-platform multimedia-rich chat service. 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, and much much more. It features multiple streams (the same as channels or rooms), which are a must if you're working on a team of more than a couple of people. It offers a free service to anyone, with paid plans available for more storage, LDAP and Active Directory integration, and on-premises support.

If your team is already embedded in an existing chat application, you can import your organization from Slack, HipChat, Mattermost, and Gitter.

Zulip offers chat apps for Linux, Mac, Windows, iOS, and Android.

 

Zulip desktop app on Linux

Rocket.Chat

Rocket.Chat is written in CoffeeScript and JavaScript on top of the Meteor framework. 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

Screenshot by Jason Baker.

Element.io

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 Element.io. Element has a collection of web and mobile tools which can be used to connect to Matrix, an "open network for secure, decentralized communication."

Element is also perhaps the easiest of these tools to try. Its web client is hosted, so there's nothing to install (although there are clients, should you want a dedicated app). You can also check out the full source for all of the projects on GitHub.

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

To learn more about Element, go check out our full introduction to the project.

 

Element web app

IRC

 

Internet Relay Chat, or IRC, is a protocol dating back to the late 1980s. Because it's been around so long, there are numerous open source implementations on both the client and the server side. One of its primary advantages is its simplicity. The IRC specification is so simple that it's commonly used in introductory programming classes as an easy way to learn network communication.

 

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.

 

Slack alternative: IRC

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.

Jason Baker
Former Red Hatter. Now a consultant and aspiring entrepreneur. Map nerd, maker, and enthusiastic installer of open source desktop and self-hosted software.
Seth Kenlon
Seth Kenlon is a UNIX geek, free culture advocate, independent multimedia artist, and D&D nerd. He has worked in the film and computing industry, often at the same time.

50 Comments

Good article Jason. In the eZ Systems community I'm active in, the community itself initiated the move from iRC to Slack. We honestly have not looked at alternatives, which are open source.

I'd like to recommend to stop using xchat. It's not been developed since 2010 and with hexchat there is an active fork available.

I'll have to check it out. I've tried quite a few desktop IRC clients (ever since I got sick of mIRC in what, the late 90s?) through the years, and haven't really _loved_ any of them, but it's been a while since I've looked.

I'm actually particularly fond of Irssi these days.

In reply to by Hx (not verified)

I'd say the Jabber/XMPP group chat feature has seen a quite good adoption rate, often with openfire as the server which also provides LDAP integration. But in the end it's more on the level of IRC if you look at the not so fancy feature list.

Thanks. I considered including XMPP in this list. There are definitely some XMPP users out there, but the ambiguity around adoption of the protocol by some big names (AIM, then later Google Talk) leaves me feeling a little uncertain about its future (particularly for someone looking to switch from a modern client like Slack).

But for sure it's worth checking out!

In reply to by Hx (not verified)

Within the strict firewall at work, we use a private Jabber/XMPP chat (most users interface with it via Pidgin) server for lots of discussions. That plus an internal install of a Discourse forum, and the effective result is pretty similar to Slack.

In reply to by Jason B

We've been looking for team collaboration tool with chat feature from long, tried basecamp, asana, evernote and so many other tools but they were having limited features. They were good for task management but we were missing chat feature. Then, we managed to find a tool which meets all our requirements. Proofhub is the best tool for collaboration, has native chat which makes it a lot easier to get instant replies/clarifications from team members. Other than this, its report feature really helps us in tracking the project progress. So far, this is the best collaboration tool we've ever experienced in our work - life.

Dropbox just announced they are releasing Zulip, team collaboration software they acquired in 2014, under an Apache license, see https://blogs.dropbox.com/tech/2015/09/open-sourcing-zulip-a-dropbox-hack-week-project/

I just saw that yesterday. Very interesting, I look forward to checking it out. Thanks for sharing this here!

In reply to by Jeff Potts (not verified)

You forgot Matrix.org - an open standard that provides an entirely decentralised modern alternative to IRC and proprietary chat systems (disclaimer: I work on it :)

Interesting. Would you be interested in submitting an article about the protocol and maybe one or two of the open source clients for it? Seems like something people here would be interested to learn more about!

In reply to by Matthew Hodgson (not verified)

I would personally love to read more about the project and architecture of martix.org.

In reply to by Matthew Hodgson (not verified)

Unfortunately, all of these open source apps cost money for communities by needing to be self-hosted. Drupal, for instance, has been contemplating such a move: https://www.drupal.org/node/2490332 -- with no decision or even leaning towards a solution yet.

This discussion also occurred at Community Leadership Summit 2015. Freenode gives free IRC hosting, which has saved us and most other F/OSS communities from having to do it ourselves. While data ownership is a big feature/complaint of the cloud, arguably its better than the current solution of no history at all with stock IRC.

The cost factor is definitely an important point, although using "free" public infrastructure also has its own costs. For example, at this particular moment, Freenode is down because of a DDoS attack.

In reply to by Jakob Perry (not verified)

The cost of a virtual private server these days is as low as $17 per month (less than my phone bill, and probably less than many devs spend on coffee). I think we need to recognize VPSes as money well spent. Also, it seems perfectly conceivable to me that an open-source hosting company might emerge someday soon, offering at-cost VPSes to open-source projects (idea! wink wink!).

In reply to by Jakob Perry (not verified)

Excellent idea, Kael! And what better domain name to have an open source VPS instance than none other but opensource.com? ;-)
Something like: vps.opensource.com/ProjectXYZ

Or take a page from Google's Blogger/Blogspot
projectxyz.vpspot.net or projectxyz.vpszone.net

Just my worthless 2 cents.

In reply to by kael.shipman

Hey all,

Please remember to cast your votes on alternativeto.net, too. Alternativeto.net is an important resource for -- you guessed it -- alternatives, and while these opensource.com polls can be fun, they don't contribute to the very important solution that alternativeto.net offers.

Kael

Hi Kael

I am in the logistics field. I have an idea involving team collaboration tool specifically for my industry. If you have have time I would like to talk to you about it. Reply to this message, we will connect.

Hello Can you explain the installation and thanks to the effort

Try riot.im based on matrix.org open source protocol.

I like riot.im and gitter chat

Riot.im vs Matrix.org server - is best opensource alternative to Slack, HipChat and other solutions, that may be hosted at own server.

The challenge for Slack competitors whether open source or closed source is going to be their ability to match the quantity and quality of integrations and the general richness of the ecosystem. People don't use SalesForce, for example, because it is better than other CRM solutions. Rather, they use it (this is our experience) because of the connector ecosystem.

Slack is now way ahead of the competition in this regard.

We switched from slack to hipchat (don't ask why). I found that I really missed a few really simple integrations like /gotomeeting. It was very nice to be able to shave off 20-30 seconds in the process of turning up a gotomeeting.

Even closer to home is our own experience creating a connector for Slack.
We recently integrated Slack with our workflow and microservices orchestration API - ProcessMaker I/O (http://processmaker.io). We have made it very easy to perform business workflows in Slack. The workflows can be started with slash commands like /purchase_request 20 computers. This workflow is then sent to a specific #channel for approval. An "accept" and "reject" button appear to the reviewer. Notifications are sent to the originator. All of this happens directly in slack in a very elegant way.

We did this for Slack because they are the leader. Like other integrations, you would miss out on this by using one of the open source alternatives to slack.

If you want to read more about workflow in slack you can read more here - https://blog.processmaker.io/slack-workflow/

This is the kind of thinking could have stopped the Free Software movement dead. It sounds like you're happy to buy into unethical software for the sake of some integration features. Good luck with that.

In reply to by Brian Reale

Matrix/riot is what you're after. It sits on top of most other protocols, and is the best of all of these systems. You can chat with someone using Facebook messenger, someone else using WhatsApp, another team of people on slack, and a few old dudes on IRC, all from the one matrix/riot server.

In reply to by Brian Reale

We have been using Brosix as an alternative to Slack. It is a great app. We all love it

Thank you for the above list. Additionally, you can also have a look at collaboration tools such as Contus fly. It works on all platforms Windows, MAC, Android, iOS etc.

In my company we use self-hosted XMPP (prosody) with different clients (Conversations on Android, Gajim on Linux, Psi on Windows). Works well. Best of it: No web interface needed. (There are nice browser based XMPP clients, too.)

Keybase Teams. While it lacks some things like IRC /me syntax it's looking very promising.

one really funny and relevant alternative that I was using for gaming... but it seems very useful as a replacement of slack (it's really free...) Chat + Text Canal at once + video ... https://discordapp.com (I'm not promoting.)

keybase.io now has a team collaboration mechanism. I'm still toying with it, but they have a unique and very interesting approach. Though ultimately open source, I don't think you can self-serve just yet. So how "open" it is may be limited. Otherwise, I think Riot (Matrix) has the leg up right now.

On github there is "watercooler chat", it's really simple and easy to use.
It doesn't even need mysql.

Troop Messenger

1- Mattermost is no more in Beta
2- Zulip (https://zulipchat.com/) is a new promising app in the chat game.

Thanks for sharing your insights! I have been looking for a free slack alternative for quite some time now :))

We discovered MyChat enterprise messenger :)

That's not open source, so no one on your team or IT department is able to audit the code or improve or modify it.

In reply to by Leoness (not verified)

I currently prefer Telegram, I know it's not fully opensource, but it is fast, editable in the meanwhile, and it supports all the major OS's.
Is there any similar thing which would be fully opensource, and which is usable on-premise?

My biggest complaint with Slack has been the lack of alternative clients. Their API is being phased out in favor of forcing you to use "plugins" on top of their broken UI. "Threads" is an absolute abomination, and a properly-designed alternative UI would allow you to merge them into the main channel. But Slack have picked up the attitude that it's "their way or the highway". Given MY choice it would definitely be a non-Slack, open-source highway.

Long-time XMPP afficionado, here.

For our company I implemented Rocket.Chat. The plan was to go slow and add each department during the summer.. well I onboarded everyone in less than 24 hours, and they use it as an internal communications tool, but with this virus spreading they also invite external users! Everyone is very enthusiastic about it! And of course it looks good on my CV.

Thank you, i will try rocket.chat

Rocket.chat rocks and the guys there are super open to help other open source projects!!

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.