レビューIRC は古臭く、時代遅れですが、それでも現在利用可能なグループチャットシステムの中では群を抜いて優れています。IRC が最高のチャットシステムであるのは、まさにそれがシステムであるからです。単なるアプリではなくプロトコルであり、さらに優れているのは、緩やかな連合プロトコルであることです。
IRCシステムは、無数のクライアント(あるいはアプリ)が連携する連合プロトコルです。IRCを管理する個人や企業は存在しません。
しかし、2つの問題があります。1つはエンドツーエンドの暗号化が欠けていることです。ほとんどの人はIRCをオープンチャンネルで使っているので、これはそれほど大きな問題ではありません。もう1つの問題は、IRCには非同期通信のための適切な手段が欠けていることです。離れている間に行われたIRCチャットを追うのは難しく、時間がかかります。そもそもIRCはそのような用途を想定して作られていないので、それはそれで構いません。
IRCを再発明したり、置き換えようとしたりするのではなく、IRCをあるがままに受け入れたらどうでしょうか。開発者が集まってリアルタイムでチャットできる、いわばウォータークーラーのような存在として。そして、他のニーズに合わせて他のツールを開発したらどうでしょうか。これは結局のところ、Unix哲学に似ています。「一つのことに集中し、それをうまくやり遂げる」。IRCはIRCのままにしておきましょう。
私にIRCを送ってくるのが何だか分かりますか?
問題は、テクノロジー業界がIRCを絶えず再発明する必要性を感じていることです。そのため、Discord、Slack、Mattermostが登場し、そして次にはMicrosoftがまるで会社のホリデーパーティーに酔っ払いのように現れ、全員をTeamsと呼ばれるものに加入させようとします。
皆さん、これが今の私たちの現状です。開発者仲間や友人とチャットしたいなら、Slack、Discord、Signal、そしてもしかしたらTeamsのアカウントも必要になります。XKCDのキャラクターみたいに聞こえるかもしれませんが、私は本当に自分の思い通りに設定しています。
残念ながら、私は漫画の世界に住んでいるわけではなく、この世界では皆と同じようにSlackなどのツールを使わざるを得ません。Slackは個人とのリアルタイムチャットには適していますが、その点ではリッチテキスト、絵文字、GIF、その他諸々の不適切な機能を備えたIRCと変わりません。Slackは小規模なチームであれば問題ありませんが、チームの規模が大きくなるにつれて、特に分散型チームの場合は、Slackの真価が発揮されなくなります。
SlackはIRCの再発明と言えるでしょう。見逃したメッセージの追跡機能は向上していますが、非同期通信、特にタイムゾーンが離れたチーム間でのコミュニケーションには依然として不向きです。また、Slackはオープンソースではありません。オープンソースプロジェクトに携わっている場合、コミュニケーションインフラの中核にプロプライエタリソフトウェアを使うのは、少し偽善的ではないでしょうか?
Zulipトピック
幸運にも、Slack が苦手とする両方の機能を備え、リアルタイム チャットにも最適なオープンソースのソフトウェア、Zulip を見つけました。
Zulip に関して私にとって最も奇妙だったのは、それが新しいものではなく、実際には Slack よりも長く存在しているにもかかわらず、Slack ほどのユーザーを獲得できていないことです。Zulip の方がはるかに優れているため、残念です。
ZulipはSlackのすべてを備えていますが、よりスマートで強力です。IRCをコピーして少しだけ機能を追加したのではなく、IRCとメールの両方からアイデアを借用している点も、Zulipの強みでしょう。そう、メール機能もそうです。
ZulipはSlackに少し似ています。いや、Zulipが先に登場したので、SlackがZulipに少し似ていると言った方が良いかもしれません。Zulipは、Tim Abbott(リブート不要のLinuxカーネルアップデートで有名)、Jessica McKellar、Jeff Arnold、Waseem Daher、そして他のソフトウェアエンジニアたちによって、2012年に共同開発されました。2014年、まだプライベートベータ版だったZulipをDropboxが買収し、おそらくそれで終わりだったでしょう。しかし、驚くべきことに、Dropboxは2015年にZulipをオープンソースソフトウェアとしてリリースしました。
他の優れたソフトウェアと同様に、Zulip はすぐに熱心なユーザー層を獲得し、何よりもそれが長年にわたって Zulip を支えてきました。
現在、Zulipは多くのオープンソースプロジェクトと同様に運営されています。アプリケーション自体は無料でオープンソースであり、独自のサーバー上で実行できます(ただし、ハードウェア要件は厳しく、これについては後ほど詳しく説明します)。同時に、Kandra Labsが運営するホスティング版もサービスとして提供されています。Kandra LabsはAbbottによるZulipの商用化です。商用ホスティングとサポートを提供しているため、商用レベルのサポートを必要とする大規模組織にとっても、ZulipはSlackの強力な競合相手となっています。
それは素晴らしいことですが、全社的にSlackを捨ててZulipを採用するよう説得するのは、長く困難な戦いになるでしょう。Zulipを使っている企業は数多くありますが、私はむしろ、ユーザー自身がZulipをホスティングしている、あるいはIRCよりも使いやすく、かつプロプライエタリライセンスに縛られないものを求めている小規模なオープンソースプロジェクトという観点から、Zulipに興味を持ちました。
このユースケースでは、Zulip は理想に近いですが、いくつか注意点があります。
しかし、まず、何が得られるのか、そして Slack とどう違うのか教えてください。
Zulipには、SlackやIRCユーザーに馴染みのある機能、例えば時系列逆順のリアルタイムチャット機能などが搭載されています。ZulipもSlackと同様にこの機能を備えており、絵文字リアクションのようなちょっとしたものから、Gitコミットタグをホストプロジェクトへのリンクに自動変換するといった非常に便利な機能まで、期待される機能がすべて揃っています。
- Chromiumの開発者は、ブラウザがTCPやUDPを介してデバイスやコンピュータと直接通信することを望んでいます。もちろん、何も問題が起きることはありません。
- 強力な暗号化によって犯罪者が刑務所に入れられることは何度も実証されているのに、なぜ政治家たちはそれを嫌うのでしょうか?
- 軍事情報セキュリティのSNAFU:WhatsAppと森のクマから学ぶこと
- ヤクヤク アプリ Slack がクラッシュ、広報担当者が驚愕: このバグは修正可能か、それともコードはロールバックされるのか?
- Vault 7の漏洩疑惑の裁判の最終段階:CIAの極秘ハッキングツールのパスワードを知りたいですか? 123ABCdef
他の人気サービスとの連携も豊富に用意されており、Jira で新しいバグが発生した際に通知を受け取ったり、Zendesk などのカスタマーサービスツールからのアラートを確認したりできます。Slack や IRC からのメッセージ受信もサポートされているため、Zulip UI 内から他の場所で行われている会話をモニタリングできます。
ご想像の通り、Zulip は主要プラットフォーム向けのアプリをすべて揃えており、その中には世界中の開発者の心を掴むターミナルアプリも含まれています。ターミナルアプリは設定変更のサポートが不足しており、もちろんアニメーションGIFも表示されませんが、私がSlack でテストしたどのターミナルクライアントよりもはるかに優れており、Zulip によって公式にサポートされています。
上記の機能の多くはSlackにも存在します。ZulipがSlackより優れている点は、非同期メッセージを簡単に追跡できる点です。これはIRCにはない唯一の機能と言えるでしょう。つまり、自分が不在の間、他のメンバーが何を話していたかを簡単に確認できるのです。Slackでも同様の機能はありますが、リストに載せたいメッセージを見つけるために、すべてのチャンネルやトピックを順に確認しなければならないため、面倒で時間がかかります。
Zulip はこのモデルを採用し、電子メールのシンプルなアイデアを借用して、トピックベースのメッセージ スレッドを提供します。
メールを効果的なコミュニケーションツールにしている要素の一つは件名です。スレッド内の関連メッセージを件名ごとにグループ化します。Zulipはストリーム内でも同じことを行います(ストリームはSlackの「チャンネル」に相当します)。つまり、新しいトピックを作成する際には件名を記入する必要がありますが、ほとんどの人はメールでそれに慣れています。Slackの考え方から抜け出し、Zulipのやり方に慣れれば、それほど難しくはありません。実際、今ではSlackで件名のないメッセージを送信するのは奇妙に思えます。まさにカオスであり、狂気です。
件名欄の優れた点は、仕事時間外に見逃したメッセージを素早く簡単に確認できることです。スレッドをくまなく探し回ったり、掘り返したりする必要はありません。すべてが1か所にきちんと整理されています。興味のあるスレッドを読み、そうでないスレッドはスキップするだけで完了です。この機能だけでも、週に何時間も節約できます。
...そして欠点
さて、注意点です。Zulip をインストールするには、新規サーバーが必要です。Zulip インストーラーが PostgreSQL データベースなどのシステムソフトウェアのインストールまですべて処理してくれるので、初心者にとっては楽かもしれませんが、このレビュアーはそれを不快に感じました。Django アプリのためにサーバー全体を専用にする必要はありません。世界が終わるわけではありませんし、技術的には既存のサーバーにインストールすることも可能ですが、問題が発生し、いかなる形でもサポートも推奨もされていない状況に陥るでしょう。
朗報です。Zulip を使い始めるには、もっと簡単な方法があります。ホスティングサービスの無料アカウントに登録するだけです。利用規約に同意する必要がありますが、試してみるにはこれが最適な方法です。数分で使い始め、チームのニーズに合わせて設定し、実際に使えるかどうかを確認できます。
Zulip が実際に動作し、プロジェクトに独自のインストールをホストする意欲とリソースがある場合は、ホストされている組織のアカウント、メッセージ、ユーザーなどすべてをエクスポートし、それを自分のサーバー上のセルフホストインストールにインポートできます。私は小規模なアカウントでこれをテストしましたが、全く問題はありませんでした。すべて問題なく動作しました。正直なところ、オンラインサービスですべてのデータを簡単にエクスポートして好きなように使えるようになったのは久しぶりなので、まだ何か落とし穴があるのではないかと探しています。しかし、私の知る限りでは、落とし穴はありません。
自社ホスト型でオープンソース、かつデータエクスポート機能を備えたウェブサービスで、実際にプロプライエタリなサービスよりも優れているものはほとんどありませんが、Zulipはそれを実現しています。Slackの代替を探していて、IRCでは満足できないなら、Zulipは検討する価値があります。®