Group chat has become one of the irreplaceable communication tools. Whether your coworkers are sitting in a room across from you or across the globe, the ability to communicate in real time makes many conversations easier and faster, and helps to deal with the confusion that can arise when communicating asynchronously.
In some circles, there is a perception that chat apps can be distracting from work. I believe it is important to "move" into non-working chat topics before they create cognitive impairment. It is equally important to have room to continuously work on tasks that require longer periods of concentration. Now, for example, I use at least two group chats with notifications turned off - so I can only check them periodically during breaks from work, and when I needgood work , I turn off notifications on all social networks.
I am in favor of choosing a tool that will be exclusive to work for your group chat needs, but not everyone will agree with me. Personally, I can be quite easily distracted by non-work conversations when the chat function is used as a social network. I like to separate work from free time, so I like to turn off private conversations while working and vice versa. Act in the best interest of your team.
Slack quickly became a darling in software circles and supplanted other tools. According to The Next Web , "Slack is silently and unintentionally killing IRC," many open source communities have also made this transition. For example, the Wordpress developers switched to Slack for team communication.
But Slack is a closed source SaaS tool, and it's not the only one. Actually open source can be key for your business chat needs. If you work with sensitive information or need to make sure that all communication remains behind a firewall, then self-hosting is your best option. And access to the source ensures that communication between you and your team doesn't slip out of your control through some nasty addition to the source code base.
Let's take a look at a few open source alternatives, from the classics to the newest apps, that can fit perfectly into your work environment.
Mattermost
Mattermost is a very modern approach with group chat, offering both standalone and other hosting options. It's written in Golang with a nice chunk of JavaScript under the React framework. It has private and public chats, including one-on-one communication, good archival support, and a Slack-like interface, including many expected features. In general, if you are already using Slack, you can easily import your current channels and archives. Mattermost also integrates with your organization's existing LDAP or Active Directory authentication systems.
A feature that I love - the ability to download sounds, videos or pictures directly from your mobile device - is very convenient when communicating on the go. Mattermost is licensed under the "Apache-wrapped AGPL". Check out the source code on GitHub, and then give it a try.
Zulip
Zulip is another Apache-licensed, cross-platform, multimedia chat service that offers hosting options. It has a lot of what you'd expect if you're familiar with Slack: image embedding, @ -mentions, file uploads, logging and much more . It has several channels (rooms) - you will definitely use them for teamwork. It is a free service with paid plans for increasing internal storage, LDAP and Active Directory integration, and local support.
The function to import your organization from Slack, HipChat, Mattermost and Gitter is also available here.
Zulip works on Linux, Mac, Windows, iOS, and Android.
Rocket.Chat
Rocket.Chat is written in CoffeeScript and JavaScript on top of the Meteor framework. Rocket.Chat is designed to download locally and work with a client interface for both desktop and mobile devices. It contains many similar features like other modern applications - from desktop notifications to uploading images and files to a searchable archive, and LDAP integrations. The plans also include a native Android app, Kerberos support and integration with many other tools with GitLab, as well as antivirus tools for attachments.
Rocket.Chat has an online demo , you can also view its source code on GitHub. Available under the MIT license.
Riot.im
Riot.im has become incredibly popular since the article was published and has earned its place in it. It has a set of web and mobile tools that can be used to connect to the Matrix , "an open network for secure, decentralized communication."
Riot is probably the easiest to use on this list. You can also check out the entire source code of all projects on GitHub under the Apache 2.0 license.
Through the integration, you can also use Riot to connect to services using IRC, Slack, or Gitter, potentially allowing you to replace multiple clients with a single open source option.
To find out more, check out our full introduction to the project.
IRC
Internet Relayed Chat (IRC) is a protocol dating back to the late 1980s. There are many open source implementations on both the client and server side as IRC has been around for a long time. One of its main advantages is its simplicity. The IRC specification is so simple that it is widely used in introductory programming classes as an easy way to learn network communications.
However, with age, there were also disadvantages. It lacks many of the features you'd expect in modern chat - from security to identity management, and even the ability to easily send non-text components like pictures, files, or emoticons (although for some it would be a plus). Some functions have been implemented over time through bot services including nickname management, logging and a few others, but these also vary from server to server.
Although IRC has retained the same appeal. It's almost universal, with clients available for almost every platform. While the command interface is not always intuitive for beginners, many reimplement commands through a graphical user interface. If you are doing bottom-up open source development, it is likely that you are already quite familiar with IRC, so adding a C&C might be the path of less resistance.
Other alternatives
The above list is far from exhaustive, and I want you to do some research before making a decision. Do you have a favorite that didn't make the list? Leave a comment below for everyone to check out.
Learn the details of how to get a sought-after profession from scratch or Level Up in skills and salary by completing SkillFactory paid online courses:
- DevOps (12 )
- Machine Learning Course (12 weeks)
- Learning Data Science from scratch (12 months)
- Analytics profession with any starting level (9 months)
- Python for Web Development Course (9 months)