在任何协作环境中,拥有良好的沟通工具都非常重要。哪些工具最适合您在一定程度上取决于您的情况,但可能包括从用于电子邮件通信的邮件列表,用于版本控制的 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 使用 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 上所有项目的完整源代码。
由于桥接集成,您还可以使用 Element 与使用 IRC、Slack、Gitter、Telegram 的服务互连,从而有可能用一个开源选项替换多个其他客户端。
要了解有关 Element 的更多信息,请查看我们对该项目的完整介绍。

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

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