在任何协作环境中,拥有良好的沟通工具都非常重要。哪些工具最适合您在一定程度上取决于您的情况,但可能包括从用于 电子邮件通信的邮件列表,用于 版本控制的 Git 或 Subversion,用于 协作创作的 wiki 或 Etherpad,用于组织工作流程的共享 任务列表,甚至是一整套成熟的 项目管理套件。
团队聊天已成为不可或缺的协作工具之一。无论您的同事是坐在您房间的对面还是在地球的另一端,实时沟通的能力使许多对话更快、更轻松,并且可以帮助减少可能在异步通信中出现的混乱。
在某些圈子里仍然存在一种看法,认为聊天应用程序可能会分散注意力,我确实认为重要的是要致力于控制跑题的话题,以免它们造成认知中断。同样重要的是,当您有需要更长时间集中注意力的任务时,能够给自己留出不被打扰的工作空间。例如,当我写这篇文章时,我至少使用了两个团队协作工具,但通知已静音,以便我可以在工作间隙允许的情况下定期查看,就像我真正需要完成工作时静音社交媒体通知一样。
我建议为了您的团队协作需求,您选择一个专用于工作的工具,尽管并非所有人都同意这一点。就我个人而言,我发现当我在社交媒体工具中重复使用聊天功能时,很容易被非工作对话分散注意力。我喜欢将工作与个人事务分开,这样我就可以在工作时关闭个人通讯,反之亦然。但请做最适合您团队的事情。
Slack 迅速成为软件开发界的宠儿,导致许多其他工具被取代。The Next Web 中的一篇文章宣称“Slack 正在悄悄地、无意地扼杀 IRC”,这种转变也蔓延到了许多开源社区。例如,Wordpress 背后的开发人员 已切换到 Slack 进行团队沟通。
但 Slack 是一个闭源 SaaS 工具,而且远非游戏中唯一的名称。事实上,开源可能对您的业务聊天需求至关重要。如果您处理敏感信息或需要确保所有通信都保留在防火墙后面,则自托管可能是您的最佳选择。访问源代码可以帮助您确保您和您的团队之间的通信不会通过代码库中某些不正当的添加而失控。
让我们看看一些开源替代品,从经典旧工具到全新工具,它们可能非常适合您和您团队的聊天需求。
Mattermost
Mattermost 是一种非常现代的团队聊天方法,并提供自托管和托管选项。它使用 Golang 编写,并在 React 框架下使用了大量的 JavaScript。它具有私有和公共聊天功能,包括一对一通信、良好的存档支持以及与 Slack 非常相似的界面,包括您期望的大多数功能。事实上,如果您已经在使用 Slack,则有一个简单的导入功能,可让您迁移当前的频道和存档。Mattermost 还集成了您组织的现有 LDAP 或 Active Directory 身份验证系统。
我真正喜欢的一个功能是能够直接从您的移动设备上传声音、视频或图像,这在移动沟通时似乎很方便。Mattermost 根据“Apache 包装的 AGPL”获得许可。查看 GitHub 上的 源代码,然后试用一下。

图片由 Mattermost 提供。
Zulip
Zulip 在 Apache 许可下发布,主要提供托管实例,是另一种跨平台、多媒体丰富的聊天服务。如果您熟悉 Slack 等客户端,它会提供许多您可能期望的功能:图像嵌入、@-提及、文件上传、日志记录、以及更多功能。它具有多个流(与频道或房间相同),如果您在由两个人以上的团队中工作,这是必须的。它为所有人提供免费服务,并为更多存储空间、LDAP 和 Active Directory 集成以及本地支持提供付费计划。
如果您的团队已经嵌入到现有的聊天应用程序中,您可以从 Slack、HipChat、Mattermost 和 Gitter 导入您的组织。
Zulip 为 Linux、Mac、Windows、iOS 和 Android 提供聊天应用。

Rocket.Chat
Rocket.Chat 使用 CoffeeScript 和 JavaScript 在 Meteor 框架之上编写。Rocket.Chat 旨在供您下载并在本地运行,客户端界面可用于桌面或移动访问。它托管了许多与其他现代客户端相同的功能,从桌面通知到图像和文件上传,再到带有搜索功能的存档历史记录,以及与 LDAP 的集成。计划中和路线图中的是原生 Android 应用程序、Kerberos 支持以及与从 GitLab 到附加文件的防病毒工具等许多其他工具的集成。
Rocket.Chat 具有 在线演示,您也可以查看其 GitHub 上的 源代码。Rocket.Chat 在 MIT 许可下可用。

Jason Baker 提供的屏幕截图。
Element.io
自最初发布本文以来,越来越受欢迎的选项之一,现在值得在列表中占有一席之地的是 Element.io。Element 拥有一系列 Web 和移动工具,可用于连接到 Matrix,这是一个“用于安全、去中心化通信的开放网络”。
Element 也可能是这些工具中最容易尝试的工具。它的 Web 客户端是托管的,因此无需安装任何东西(尽管如果您想要专用应用程序,也有客户端)。您还可以查看 GitHub 上所有项目的完整源代码:GitHub。
由于桥接集成,您还可以使用 Element 与使用 IRC、Slack、Gitter、Telegram 的服务互连,从而有可能用单个开源选项替换多个其他客户端。
要了解有关 Element 的更多信息,请查看我们对该项目的完整 介绍。

IRC
Internet Relay Chat 或 IRC 是一种可以追溯到 1980 年代后期的协议。由于它已经存在很长时间了,因此客户端和服务器端都有许多开源实现。它的主要优点之一是简单性。IRC 规范非常简单,以至于它通常在入门编程课程中用作学习网络通信的简单方法。
然而,随着它的年代久远,也存在许多缺点。它缺少现代聊天客户端可能期望的许多功能,从安全性到身份管理,甚至只是轻松传输非文本组件(如图像、文件或表情符号)的能力(然而,后者可能被某些人视为优点)。某些功能是在事后通过机器人服务实现的,包括昵称管理、日志记录和其他功能,但这些功能因服务器而异。
不过,IRC 仍然有一些优点。它几乎是通用的,并且几乎每个平台都有客户端。虽然对于初学者来说,命令驱动的界面不一定直观,但许多客户端通过 GUI 重新实现了命令。如果您正在进行上游开源开发,那么您很可能已经在 IRC 中闲逛了,因此添加团队服务器可能是阻力最小的路径。
想了解更多关于 IRC 的信息?查看我们的 免费 IRC 速查表。

Jason Baker 提供的屏幕截图。
其他选项
上面的列表远非详尽无遗,我鼓励您在做出决定之前四处看看并尝试其他几个。还有其他未列入列表的您最喜欢的工具吗?请在下面的评论中告知我们,以便大家都可以查看一下!
本文最初于 2015 年 11 月发布,现已更新,包含新信息和其他工具。
50 条评论