IRCは実行可能な唯一のチャットプロトコルである(2022年)
(koshka.love)- 1988年から続くIRCは、利用者が減っていても 分散性・軽量さ・匿名性 によって、Discordよりも防御可能なチャット基盤として評価されている
- Discord批判の焦点は、中央集権的な独占プラットフォーム が会話と個人情報を集め、利用者が運営者の決定に従属する構造にある
- IRCは誰でもサーバーやチャンネルを作れるため、Freenode崩壊後にLibera Chatへ移った事例のように、離脱と再構成 が可能である
- 会話ログ、画像共有、音声・映像の不足は、ターミナルクライアント、bouncer、SSL、OTR、Mumble、画像ホスティング、DCCのような 補助ツール で補える
- Microsoft Comic ChatはIRCの会話を漫画のコマとアバターの表情で見せ、テキストベースの会話に 非言語的表現 を加える例として紹介されている
IRCを好む理由
- IRCは1988年から存在するチャットプロトコルであり、利用者はIRCクライアントでサーバーのデーモンに接続し、名前を選んでチャンネルまたはプライベートメッセージで会話する
- ソーシャルメディアやDiscordのために最盛期より人気は大きく落ちたが、この記事はむしろIRCにより強く惹かれるようになった理由を整理している
- 筆者はまず、折りたたみ式携帯電話、CD、Office 97、MP3プレーヤー、CRTテレビ・モニター、Windows 98のゲーム用PCといった レトロ技術・文化 を使い続ける傾向を明かしている
- 2022年時点で自らIRCサーバーを運営し多くの時間を過ごしており、1980年代の「古い」プラットフォームを使うことが、列挙した生活上の選択肢の中で最も合理的に擁護できると見ている
DiscordではなくIRCを選ぶべきだという主張
- Discordへの批判は、中央集権型・独占型プラットフォーム である点から出発する
- Discordが利用者の会話、実行中のプログラム、電話番号のような情報を収集し、広告ターゲティングに活用していると批判する
- 企業や政府による監視に鈍感になった人は多いが、現実で販売員が会話を盗み聞きし、つきまとって商品を勧めてきたら侵害だと感じるはずだと比較する
- 中央集権型サービスでは利用者が運営者に従属する
- Discordが独立したIRCサーバーの海を、ひとつの企業的な walled garden に置き換えたと見ている
- 利用者がサービス所有者に逆らえば、公共空間全体から追い出されうる点を問題視している
- Discord回避を勧める資料として、Richard StallmanのDiscord批判とSpyware WatchdogのDiscord記事もあわせて紹介している
IRCの分散性と権力構造
- IRCはDiscordのような単一プラットフォームではなく、標準とサーバー群の生態系 に近く、安定したホスティングと基本的なコンピュータ知識があれば誰でもサーバーを作れる
- 大きなIRCネットワークとしてRizon、EFNet、Libera Chatがあるが、小さなネットワークも非常に多い
- Netsplit.de は500を少し超えるネットワークのチャンネルを索引している
- この検索エンジンも比較的大きなネットワークしか扱っておらず、非公開のものや非常に小さく無名のネットワークは載っていない
- 一部のネットワークは友人グループ用、または企業内コミュニケーション用である可能性がある
- IRCOpが権限を乱用する可能性はあるが、完全な分散構造 ではそのような乱用は長続きしにくい
- 利用者は別のネットワークへ移動したり、自分で新しいネットワークを立ち上げたりできる
- 代表例が Freenode exodus である
- Freenodeは新しい運営陣による敵対的買収の後、数か月で急速に崩壊した
- 不満を持った利用者たちが、新たに作られたLibera Chatへ大挙して移動した
IRCが生み出す小さな避難所
- IRCは用語や接続手順が見た目には複雑で、技術リテラシーの低い利用者 をふるい落とす効果があると見ている
- WebチャットインターフェースはIRCへの流入のために作られたが、多くの新規利用者は30秒ほど活動がないと去ってしまうという
- Webクライアントは、一般利用者が実際のIRCクライアントにアクセスできないときに一時的に使う用途に近いと見ている
- 筆者はSSHクライアントやIRCクライアントのない折りたたみ式携帯電話でKiwi IRCを使っている
- IRC利用者は画面上のテキストをテキストとして受け止め、望まなければチャンネルを離れたり ignore 機能で遮断したりできる
- 多くのネットワークは、事前承認されていない利用者からのプライベートメッセージを防ぐサーバー側の ignore 機能も提供している
- UnrealIRCd IRCOp guide の原則のように、IRCOpは通常、中立的にサーバーの安全性や法律違反のような深刻な状況でのみ権限を使う存在として扱われる
- 大規模サーバーでは、同じチャンネルにいない限りIRCOpと直接やり取りすることはまれであり、誰でもチャンネルを作って運営できるため、運営者は電源維持に近い役割しか持たない場合が多いと見ている
匿名性とネットワークごとの差異
- IRCは参加に個人情報を求めないことが多く、匿名性 が強いほうだと見ている
- Discordは電話番号を要求することがあり、一部の部屋ではソーシャルメディアの身元確認まで求めると批判している
- 多くの現代的なIRCサーバーはIPアドレスを隠し、VHostを提供する
- VHostは利用者がIPの代わりに表示する偽または実在のドメイン名を選べる機能である
- ほとんどのIRCネットワークはVPN接続を許可しており、Torはそれより許可されにくいという
- すべてのネットワークが同じ利便機能を提供するわけではない
- EFNetは最古のIRCネットワークであり、現代的な利便機能をほとんど受け入れていない例である
- EFNetは接続サーバーに独自ドメインがない場合、完全なIPアドレスを表示する
- NickServやChanServのような名前・チャンネル登録サービスも提供しない
IRCの軽さとログ補完
- IRCプロトコルは1988年のインターネット速度でも持続可能なように設計されており、Discordクライアントとは対照的な 低リソースのテキストプロトコル として扱われている
- TelnetでもIRCサーバーへ接続できるが、サーバーが接続切れと判断しないよう手動で ping を送る必要がある
- 基本のIRCには、接続していなかった間の会話ログを見る機能がない
- 最も好まれる補完方法は、Linux/BSDサーバーで Irssi やWeeChatのようなターミナルベースのクライアントをScreenまたはTmuxの中で動かし続けることだという
- 利用者はインターネットにつながるコンピュータからSSHでサーバーに接続し、クライアントが動き続けていた状態をそのまま引き継ぐ
- 筆者は2006年から、友人のサーバーのシェル、公開の無料シェル、自宅のRaspberry Piサーバー、現在はWebサイトとインフラを置くサーバーに至るまでこの方法を使ってきたと明かしている
- ターミナルクライアントを使わない利用者向けの代替として IRC bouncer がある
- bouncer は利用者の代わりに特定のサーバーやチャンネルへ接続し、メッセージを記録する
- 利用者はbouncerにIRCサーバーのように接続し、不在中のログを受け取り、普段どおり会話する
セキュリティ、画像、音声・映像の迂回手段
- IRCは公開的で単純なプロトコルであるため、盗み見に弱い可能性がある
- 多くのIRCネットワークはSSL接続を許可しており、一般的なポート6667ではなく通常は6697を使う
- チャンネル内の1人がSSLを使っていなければ、他の人々の努力も損なわれうる
- チャンネルではSSLを使わない利用者の参加を制限できる
- LinuxのIrssi、WeeChat、HexChatはOTR設定によって、プラグインを持つ相手と完全に暗号化された1対1の会話ができる
- DiscordにはあるがIRCに標準ではない機能として、画像共有、音声チャット、ビデオチャットがある
- 筆者はこれらの機能を個人的には不要だと考え、特に音声チャットを好まない
- 音声チャットがどうしても必要なら Mumble のような外部サービスを使える
- Mumbleは自由ソフトウェアであり、IRCのように個人サーバーを立てられる
- 画像共有は個人サーバー、Catbox.moe、Uguu.se のような画像ホスティングで代用できる
- IRCはDCCプロトコルによる1対1のファイル転送をサポートする
- ただしDCCはクライアントごとに実装が異なり、ファイアウォールで標準的に遮断されることがある
Microsoft Comic Chatが加える表現方法
- Microsoft Comic Chat はMicrosoftが1990年代に作った独特のIRCクライアントである
- MSN Messenger側へ移行する中で20年以上前に終了したが、カルト的な人気が残っている
- 一般的なテキスト専用IRCクライアントと違い、チャンネルを進行中の 漫画ストリップ のようにレンダリングする
- 参加者はアバターを選ぶ
- 発言時に特定の表情やポーズを付けられる
- 発言せず表情だけをリアクションとして送ることもできる
- Comic Chatは標準アバターやユーザー作成アバターのためユーモラスな面が強いが、会話に表情や身振りを加えることで発話意図を強調したり明確にしたりできる
- 誇張された表情や身振り、IRCの非同期的なテキスト会話という特性により、Comic Chatは自閉症者にとって非常に適したコミュニケーション手段になりうると見ている
- Comic ChatはWindows向けプログラムだがLinuxでも実行可能であり、ShadowM00nのWine設定ガイド もあわせて示されている
- 標準アバター以外にも、Mermaid ElizabethのComic Chatサイト には古いComic Chatサイトやアバター・リソースが多数集められている
KoshkaIRCとComic Chat Caturday
- 筆者はDiscordからIRCやMumbleのような自由で分散した空間への移行を勧め、自身のIRCネットワークKoshkaIRCも紹介している
- サーバーアドレスは
irc.koshka.love - メインチャンネル名は
#
- サーバーアドレスは
- 同じサーバーの
#comicchatチャンネルでMicrosoft Comic Chatの利用が再び活発になったと述べている - Comic Chatは別個のIRCクライアントを必要とし、シェル上では動かせず、bouncerに接続するには古すぎるプログラムであるため、毎週土曜日に Comic Chat Caturday という終日イベントを開くことにしたという
- オセアニア地域の利用者には日曜日に近い場合がある
- 自由で開かれたプロトコルを使い続け、古いインターネットの原則を守り続けるなら、「良かった昔のインターネット」は完全には死なないという結論へつながる
1件のコメント
Hacker News のコメント
記事では軽く流されているが、組み込みの会話履歴サポートがないことこそ、IRC が事実上押しのけられざるを得なかった主な理由だと思う
履歴は「派手な」機能ではないし、常時稼働する別のロギングサービスを自分で運用しろというやり方では不十分
とくに、この問題がないオープンな連合型チャットプロトコルもすでに存在する
履歴はユーザーのものではなく Discord のものなので、サーバーからBANされたり、サーバーが閉鎖されたり、Discord アカウントが停止されたりすると、アクセスは永遠に失われる
一部の IRC チャンネルログのように Web に公開されてインデックスされたり外部検索できたりするわけでもなく、数日分のログをさかのぼる UX も遅くて苦痛
標準的なテキストツールにエクスポートして処理するのも難しく、正規表現検索もなく、複数サーバーのログを一度に検索することもできない
私は数十年前の IRC ログでも即座に検索してテキストとして扱えるが、Discord のログは Discord の中に閉じ込められていて、見た目はきれいだがひどい UI で検索するしかない
Discord が人気なのは履歴のためではなく、登録・参加・サーバー開設が簡単で、インライン画像が使え、難解な IRC コマンドを知らなくてよく、見栄えのよいクライアントがあるから
しかし Discord は、データが死にに行く情報ブラックホールだ
Discord の検索はあまりにひどいので履歴があってもしばしば役に立たないが、有用なメッセージや議論をリンクで「固定」できる機能は重要
基本的な IRC には、履歴の有無に関係なくメッセージのアドレス指定がない
これをきちんと扱うには、
message-tags拡張(https://ircv3.net/specs/extensions/message-tags)、message-idsサポート(https://ircv3.net/specs/extensions/message-ids.html)、おそらくecho-message(https://ircv3.net/specs/extensions/echo-message)も必要になるサーバーとクライアントがこれらをどの程度サポートしているのかは分からないし、クライアント側にはメッセージ ID やパーマリンクを見せる仕組みも必要
その段階になると、履歴サポートを提供する作業中の
chathistory拡張(https://ircv3.net/specs/extensions/chathistory)も欲しくなるDiscord や Slack には履歴があるので、人々は全員がすべてを読んだはずだと期待する
部屋にいなかった人はメッセージを見ていないはずだと仮定する体験のほうが良く、IRC はずっと明確な同期的な会話のように感じられる
Discord や Slack のチャットは、同期なのか非同期なのか曖昧
以前は趣味で IRC を使い、職場でも10年使ったが、IRC は通信形式としてはまったくひどかった
離席中であることを示すために人々がニックネームを変えるのが最大の不満だった
チャンネルに入ると実際の部屋に入ったようで、自分がいなかった間に何が話されていたのかは分からない状態になる
Discordが嫌いな人に言うなら、話は簡単です
Discord以前には、Ventrilo、Mumble、TeamSpeak、Skypeなどをほぼ10年間、毎日使っていました
ボイスチャットがあり、一部には使えるテキストチャットもありましたが、Discordはボイスチャット、画像・コード片・絵文字・リアクションが使える優れたテキストチャット、ビデオストリーミング、ファイル共有、強力なボット連携、セルフホスト型の代替より少ないセキュリティ問題を一か所にまとめました
特にMMORPGのようなゲームコミュニティでは、チームを抜けた、あるいは5か月前に間違ったTeamSpeakサーバーで誰かと話したという理由でDDoSを受けることがあったため、セキュリティは重要でした
Push-to-Talkも重要です
リモート勤務中に後ろに子どもがいるなら、ボタンを押して話す機能は本当に便利ですし、ゲーマーたちは20年以上、親の声を背景ノイズにしながらそうしてきました
すべてのサーバーで1つのアカウントを使いながらアイデンティティをカスタマイズできる点まで含めて、1つのソリューションであり、だから市場を制したのです
IRCのシンプルさはハッカー気質には美しく映るかもしれませんが、自分の問題を解決したり生活を楽にしたりはしないので、Discordの代わりに使うつもりはありません
かつては特定の種類のゲームサーバーでTeamSpeakが主なコミュニケーション手段で、ほぼすべてのゲームサーバーと多くのチームがTSを持っていました
その結果、IPアドレスがあちこちに漏れる惨事が起き、サーバーに入ってゲーム内ニックネームと結び付けられると、重要な瞬間にDDoSでオフラインにされる可能性が高かったのです
Discordへ移行すれば、そうしたことはずっと起きにくくなります
ただし、オープンなプロトコルを使い、コンテンツのインデックス化を許可してほしいです
プロプライエタリソフトウェアは原則として嫌いですし、Discordが中核となる秘訣を公開しないことも分かっていますが、少なくとも運営者がチェックボックス1つでテキストチャンネルを検索エンジンにインデックスさせられるようにはしてほしいです
Discordチャンネルに入らなくても、FAQにピン留めされた問題の解決策を将来の人が見つけられ、いつかそのチャンネルが消えても知識が完全に失われないようになります
簡単な回答はhttps://answers.microsoft.com/en-us/msteams/forum/all/teams-...にあり、ドキュメントはhttps://support.microsoft.com/en-us/office/muting-and-unmuti...にあります
90年代からIRCを使っており、Undernetの
#Linuxと#Japanで長くオペレーターを務め、ロンドン時代には小さなIRCネットワーク用サーバーも運用し、日本でも同じ小さなネットワークのサーバーを運用していました記事は素晴らしかったものの、Matrixにはまったく触れていませんでした
MatrixはIRCのように分散化されており、
ircdを動かすように自分のホームサーバーを運用できます適切なクライアントでMatrixホームサーバーに接続すれば、IRCのチャット上の利点に加え、チャット内での画像投稿やテキスト書式といったDiscord的な利点も得られます
ルーム設定によってはチャット履歴もあり、完全暗号化されたルームも可能で、音声・ビデオルームも作れます
今ではMatrixへ完全に移行しており、Discordが囲い込まれた庭である一方、MatrixはIRCのように完全に分散化されているので、最近はIRCよりMatrixを勧めています
Goで書かれた第2世代の代替であるDendriteはより軽量ですが、最後に見たときは機能が一部不足していました
数年前にRustで書かれた超軽量ホームサーバー実装のConduit(https://conduit.rs/)を見つけ、参加度が高く反応の速いコミュニティもあります
18〜24か月運用し、家族との連絡、小規模ビジネス、職場グループで使っています。まだ見ていないなら、Conduitを確認することを強くお勧めします
ニッチなコミュニティを見つけるという点では、すでにFediverseよりはるかにうまくやっています
著者には事実に基づいて書いてほしかったし、独断的な権威主義のファンフィクションのように見えた。
IRCが有効でない理由は単純明快で、ユーザーが期待する機能が足りないから。
SignalやTelegramも大規模チャットルームのようなIRC的サービスを作ったが、IRCの上には作らなかったという点は示唆的。
それらは多数の公開・非公開・小規模な友人サーバーにゲートウェイとして接続され、すべてのメッセージデータをなめてデータレイクに吸い上げることができる。
そのためDiscordは、ユーザーがアプリケーションを初期化するときだけデータを受け取るApplication Commands[0]を推し進め、Botが100以上のサーバーにいる場合は本人確認が必要なMessage Contentsを特権インテント[1]にした。
[0] https://discord.com/developers/docs/interactions/application...
[1] https://support-dev.discord.com/hc/en-us/articles/4404772028...
IRCに悪感情はないが、Discordの代替としてIRCを提案するのは、Discordが何に強いのかを根本的に理解していないように見えて戸惑う。
セルフホストできる代替を探すなら、Matrix、とくに最新のビデオ・音声チャットルームを備えたMatrixのほうが、Discordが提供するものにはるかに近い。
それでもDiscordの中核的な用途であるゲーム中のボイスチャット、キャプチャしたゲーム画面の滑らかな動画ストリーミング、そして8歳の甥や姪でも一人で覚えられるほどスムーズなUIを置き換えるのは難しい。
Discordにはテキスト専用の用途が多く、たとえば次のようなものがある。
https://news.ycombinator.com/item?id=36746154
https://news.ycombinator.com/item?id=29712098
Discordなどを好む人たちにとってIRCをもっと使いやすくすると、IRCを好む多くの人には根本的に変わって壊れてしまったように感じられるはず。
逆も同じなので、IRCが再び復活して大衆的に使われることはなさそう。
「Discordは私的ではない」が論拠なら、もう負けている。
Discordを使う人たちはその点を気にしておらず、そういう主張はDiscordがなぜ使われるのかを実際には理解していないことを露呈している。
Discordがなぜ悪いのかを扱う記事は定期的に出てくるが、どれも核心を外している。
多くのウェブサイトやフォーラムがDiscordに置き換えられたが、これはあまりよくない。
本質的にはメッセージングアプリなのに、「リンクは私のDiscordにある」のように、ウェブサイトのほうが適した用途に使われている。
私はもちろん多くの人がほとんど公開サーバーだけを使っていて、むしろインターネット検索に引っかかるよう、もっと非公開性が低ければいいと思っている。
IRCの骨だけのような性格が格好いいものになり得る、という点には同意する
ただし Teams、Slack、Discord のような現代的なサービスは、クライアント端末間のシームレスな継続性を最優先にしている
ノートPCを置いてトイレに行き、スマートフォンを取り出して入力を続ける、という具合だ
複数の端末を使うようになった後もしばらく IRC を使っていたが、非同期メッセージングのような基本機能を実現するために、プロキシや GNU screen 経由の ssh 接続のような方法に頼っていた
IRC の上にクライアント非依存性を作ろうとすると、IRC 自体よりも複雑なプロトコルをかぶせることになる可能性が高い
むしろ大手企業が面白いレトロ機能として IRC 風のチャンネルを導入する方に賭けたいし、IRC の復活よりもその機能が人気になる可能性の方が高そうに見える
通知が抜け、メッセージが抜け、メッセージの順序が入れ替わり、3カ月ほどで直ったように見えるとまた起きる。主に Android でそうなるようだ
一般に、メッセンジャーのマルチデバイス問題は MSN Messenger や Skype の頃に解決されたように見えたが、スマートフォン時代にそれらのメッセンジャーが携帯へうまく移行できなかったことで、WhatsApp 系が再び1台の端末に縛られる問題が生まれた
後からWebアクセスを追加したが、本当のマルチデバイス対応というよりハックに近かった
携帯向けメッセージングアプリが解決した大きな問題は、プロトコルが常時接続を要求しなかった点だ
理論上は MSN、ICQ、Skype、IRC も拡張できただろうが、新しく作って先に市場へ出る方が常に速い
今日 IRC を現代的なマルチデバイス体験として使いたいなら、Quassel[1] と Android 用 Quasseldroid が最もよい解決策だと思う
バウンサーに似ているが、バウンサーである
quassel-coreと GUI であるquassel-clientの間に独自プロトコルを使い、すべての端末状態を完全に同期し、不安定なモバイル接続でも動作するどこからでもアクセスできるようサーバーでコアを動かす必要があるので、本文のいう「一般人」向けではないが、現代世界で IRC を使えるものにしてくれる方法だ
スマートフォンから termux で ssh 接続して screen 内の irssi を使いたいとは思わない
Web 2.0 好みなら、次の選択肢は The Lounge[2] だろう
[1] https://quassel-irc.org/
[2] https://thelounge.chat/
最初の論点に少し関連して、個人的にはもっと接続を切る方法を探している
トイレにスマートフォンを持っていかない程度の短い断絶でもそうだし、今では常につながっていることが嫌だと気づいた
素の IRC は、絶え間ない接続という悪夢に比べれば夢のように聞こえる
Discord は娘からの DM は絶対に通知しない一方で、完全にミュートしてあるゲーム Discord の告知はいつも通知してくる
quasselclientを置いてトイレに行き、スマートフォンの Quassel アプリで入力を続けられる実際には Quassel に接続しているから動作する
もちろん実際にそんなことはしないだろう
Ergo IRCd は通常の IRC プロトコルだけで、同じアカウントと同じニックネームに複数のクライアントが同時接続することをサポートしている
https://github.com/ergochat/ergo/blob/master/docs/USERGUIDE....
「IRC を使ったことがある人なら、複雑なことなど何もないと分かる」といった表現や、著者の「一般人化」の話は、IRC に戻ってみようかと考えるたびに、私を確実に遠ざける知的エリート主義のように感じる
実際のユーザー基盤とつながった感覚を保つことがどれほど重要かをよく示している
技術そのものが何らかの「エリート主義」を含んでいるわけではなく、昔は非技術系ユーザーが多いチャンネルやネットワークも多かった
Shoutcast が流行していた頃は、サーバーに関連 IRC チャンネルがあり、人々がリクエスト曲を頼んだり音楽の話をしたりしていた
「技術に不慣れなユーザーを締め出す」という言い方も変で、中学生たちが大した苦労もなく IRC チャンネルに接続しているのを見たことがある
Matrix は非常に実用的なチャットプロトコルで、ここ数カ月はフルタイムで使っている
WhatsApp と Telegram のアカウントもブリッジして、スマートフォンとデスクトップで Matrix クライアントだけを使っているが問題ない
現実の友人グループには WhatsApp のように使え、オンラインのルームには IRC/Discord/Slack のように使え、IRC に欠けている履歴もある
Matrix は使っているが、Element を信用できないのでアカウントのブリッジはしていない
大学時代に友人たちと個人用のIRCサーバーを立ち上げ、約15年がたった今も使い続けている
Ventriloサーバーも運用していたが、すぐにMumbleへ乗り換えたし、Discordへ移ることはなさそうだ
IRCは自分の人生の大きな部分を占めていて、組織的なQuake、CS 1.6、Dotaの試合に参加した場所もIRCだった
今はハードコアにゲームをすることは少なくなったが、その役割はおそらくDiscordとゲーム内の自動マッチメイキングが置き換えたのだと思う
技術的なトピックを学ぶうえでもIRCは素晴らしいリソースだった
最近はほとんどのオープンソースコミュニティがDiscord、Slack、Gitterのような場所を案内している
IRCに戻ってきてほしい
新しいネットワークはどれも独自クライアントの使用を強制するし、モダンなデザイン傾向も嫌いだ
WindowsのmIRCとLinuxのirssiは、自分の基準ではUX/UIがほぼ完璧で、それ以降のものは重要なコンテンツであるチャットから注意をそらす余白と散漫さを増やしただけだった
UXの人たちは自己嫌悪的なので、最高の仕事を「無」だと見なしているのではないかと、いつも感じていた
より多くの無、より多くのスペース、より多くの空白を追加するほど、自分の仕事に安心しているように見える
「完璧なものに何でもないものを足して金をもらった」という感じで、頭の中の小さな声が、その空虚さは彼らの魂に似ているとささやく