在任何协作环境中,拥有良好的沟通工具至关重要。哪些工具最适合您在一定程度上取决于您的情况,但可能包括从用于电子邮件通信的邮件列表,用于版本控制的 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-wrapped AGPL”下获得许可。在 GitHub 上查看源代码,然后试用一下。

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

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

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

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

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