新型コロナウィルスの影響によってリモートワークが急速に普及したことで、業務におけるチャットツールの重要性が高まった。社内でチャットツールを導入したい場合、SlackやMicrosoft Teamsをはじめとしてさまざまな選択肢があるが、その多くはクローズドソースのSaaS型サービスであり、自由にカスタマイズしたり、機密情報を自社のネットワーク内に留めておくなどといった使い方ができない。

これに対し、Opensource.comの記事「Free, open source alternatives to Slack for team chat|Opensource.com」では、プロプライエタリなサービスに代わって利用できる、オープンソースで開発されている5つのチャットツールが紹介されている。

本稿では、そのうちの4つのツールを紹介する。残りの1つはIRC(Internet Relay Chat )で、それ自身は伝統もあり優れたツールではあるものの、現状ではSlackなどの代替として選択するニーズはほとんどないと思われるのでここでは割愛したい。

オープンソースであるという以外に4つのツールで共通する点としては、クライアントとしてブラウザで利用可能なWebインタフェースに加えて、Windows/macOS/Linux向けのデスクトップアプリと、iOS/Android向けのモバイルアプリをサポートしていることが挙げられる。デスクトップとモバイルの双方がサポートされているので、ビジネスにおけるさまざまなシチュエーションでの使用に対応できる。

自前のサーバにセルフホストとして展開できるのに加えて、すぐに利用可能なSaaS型サービスも用意されている点も共通している。SaaSは基本的には有償サービスではあるが、ツールによっては無償プランも用意されているため、セルフホストでの導入前に試験的に使ってみるのもいいだろう。

Mattermost

MattermostはGo言語とReactフレームワークをベースとして開発されたチャットツールである。1対1のプライベートチャットやグループチャット、通知、画像やビデオの共有、チャンネルのアーカイブ化などといった基本的な機能を備えており、UIはSlackによく似ている。チャットにおいてマークダウン記法をサポートしているなど、Slackにはない機能もある。

また、高度なプラグイン機構を備えており、用途に応じてさまざまな追加機能を付け加えることができる。認証基盤はLDAPまたはActiveDirectoryをサポートしているため、他のサービスとのアカウントの統合にも対応する。そのほか、Slackからチャネルやアーカイブをインポートする機能も備えている。

サーバ・プログラムはLinux向けとなっており、Ubuntu、Debian、Red Hat向けにビルド済みのバイナリファイルが公開されている。さらにDockerおよびKubernetesで実行可能なコンテナイメージも用意されているため、各種クラウドプラットフォームで簡単に利用を開始できるという強みがある。

Mattermostのサーバ・プログラムには無償利用できるTeam Editionと、セキュリティやコンプライアンスなどといった企業向けの高度な機能を備えた有償のEnterprise Editionがあり、前者はMIT License、後者は独自の商用ライセンスとなっている。デスクトップおよびモバイルアプリケーションはApache License 2.0で公開されている。

  • Mattermost is an open source、self-hosted Slack-alternative

    Mattermost is an open source, self-hosted Slack-alternative

Zulip

「Zulip」は元々は独立した企業であるZulip社によって開発されたプロプライエタリなチャットツールだったが、2015年にDoropboxによって買収され、Apache License 2.0の元でオープンソース化された。

チャット機能としては、プライベートチャットやグループチャット、画像やファイルの共有、投票などといった基本機能を備えており、マークダウン機能もサポートする。Mattermostと同様にLDAPとActive Directoryによる認証の統合にも対応している。SlackやHipChat、Mattermost、およびGitterからのデータのインポート機能も備えているため、これらのチャットツールをすでに利用している場合もスムーズに移行することができる。

Zulipでは外部アプリケーションとの連携用のAPI(Zulip API)が用意されており、これを利用してZulipにデータを送信したり、逆にZulipからデータを送信したりできるようになっている。このZulip APIを通じて外部のアプリケーションやサービスと統合し、高度に独自のカスタマイズを行える点が大きな強みとなっている。

Zulipはセルフホストで利用する場合は無償だが、エンタープライズ用途向けにさまざまなサポートを受けることができる有償プランも提供されている。

  • Zulip

    Zulip

Rocket.Chat

Rocket.Chatは、Node.jsで記述されたのMeteorフレームワークをベースに、JavaScriptとCoffeeScriptによって開発されたチャットツールである。1on1やプライベートチャット、グループチャット、ファイル共有、通知機能など、基本的な機能は網羅されているほか、50以上の言語への自動翻訳もサポートされている。

LDAPやActive Directoryによる認証の統合もサポートされているほか、2要素認証や、数十以上のOAuthプロバイダに対応したシングル・サイン・オンなど、認証機能も充実している。

サーバ・プログラムは各種Linuxディストリビューション向けのビルド済みバイナリが提供されているほか、Mattermostと同様にDocker向けのコンテナイメージも用意されている。そのため、Docker環境や各種パブリッククラウドに対して簡単にセットアップできるという強みがある。

ライセンスはMIT Licenseで、無償で利用できるCommunity Editionのほかに、エンタープライズ向けの機能が追加された有償のPro EditionやEnterprise Edirionが用意されている。

  • Rocket.Chat - The Leading Communication Hub

    Rocket.Chat - The Leading Communication Hub

Element(旧Riot.im)

「Element」は、元は「Riot.im」という名前で公開されていたチャットツールである(Opensource.comの記事ではRiot.imとして紹介されている)。1対1チャットやグループチャット、ファイル共有、オンデマンドのチャットルームといった一般的なチャットツール機能に加えて、ビデオ会議やボイスチャットなどの機能も備えており、Microsoft Teamsのような統合的なコミュニケーションツールとして利用することができる。

ElementはMatrixというリアルタイムコミュニケーションのためのオープンスタンダードなプロトコルを実装しており、汎用性の高い通信基盤を持っている点が大きな特徴となっている。Element内でIRCやSlack、Twitter、SMSなどの他のコラボレーションツールを使用してコミュニケーションすることもできる。

ElementはApache License 2.0で公開されており、ソースコードはGitHubリポジトリから入手することができる。

  • Element group video messenger

    Element group video messenger