FOSSプロジェクトでDiscordを使わないこと(2021)
(drewdevault.com)- FOSSプロジェクトがDiscordをコミュニティチャットツールとして選ぶと、独自クライアントを使うかどうかによって参加の障壁が生まれ、自由ソフトウェアに敏感な貢献者が押し出される可能性がある
- アクセシビリティ要件のあるユーザー、低スペックのハードウェアを使うユーザー、特殊なOS・デバイスを使うユーザー、米国の制裁対象国のユーザー、Tor・VPNに依存するユーザーまで参加から排除されうる
- チャットログ、ボット設定、プロジェクト空間を調整する権限はプロジェクトではなくDiscordが管理しており、コミュニティが必要な改善クライアントを一緒に作ることも難しい
- サービス選びは単なる利便性ではなく長期的な投資であり、Discordの利用はFOSSプラットフォームではなく独自プラットフォームを強化する選択になる
- IRCベースのchat.sr.ht、Matrix、Zulipのような代替があり、同じ問題意識はGitHub、Twitter、YouTubeのような独自インフラへの依存にもつながる
DiscordがFOSSプロジェクトと衝突する点
- FOSSプロジェクトでDiscordを使うと、自由ソフトウェアの価値とコミュニティ運営のあり方が食い違う
- FOSSプロジェクトは自由ソフトウェアを重視するからこそ作られるが、Discordは独自クライアントを使うかどうかでコミュニティを分断する
- 独自のDiscordクライアントを使いたくないユーザーは、プロジェクトコミュニティで二級市民のように扱われる可能性がある
- 排除されるユーザーはアクセシビリティの問題にとどまらない
- アクセシビリティ要件のあるユーザーにとって、Discordの独自クライアントは使いにくい場合がある
- リソースを多く消費するクライアントを快適に動かせる新しいハードウェアを買えないユーザーも不利になる
- 新しいOSや特殊なデバイスを使うユーザーは、Discordがそのプラットフォーム向けに移植するまでクライアントを使いにくい
- DiscordはIranのような米国の制裁対象国のユーザーにサービスを提供していない
- プライバシーを重視したりTor・VPNに依存したりするユーザーは、Discordへの参加をためらうか拒否される可能性がある
- アクセシビリティ評価は単純に「良い/悪い」で終わらない
- Discordはアクセシビリティ問題に真剣に取り組むよう訴訟を起こされたことがある
- アクセシビリティ分野で働くある意見提供者は、Discordをスクリーンリーダーで自在に使いこなせなかったが、デスクトップ向けWebアプリのUIが複雑で、要素単位の探索が圧倒的に遅かったと述べている
- SlackとZulipも同様に感じたが、IRCは選べるクライアントが多い点でより良いと見ている
- ただしDiscordのアクセシビリティはここ数年で改善したようで、一部の視覚障害者コミュニティや若い視覚障害のあるプログラマーのグループもDiscordを使っている
独自インフラではなくFOSSエコシステムに投資すべき理由
- DiscordとFOSSプロジェクトの間には利益相反がある
- チャットログの所有権、有用なボット設定の権限、プロジェクト空間を独自判断で調整する権限はDiscordが保有している
- Discordが体験全体を統制しているため、FOSSコミュニティはアクセシビリティ要件や低スペック機器向けに改善したクライアントを共同で作りにくい
- Discordはユーザーを従わせようとする方向であり、FOSSはユーザーを仲間であり協力者として扱うという点で、両者の理念は衝突する
- ツール選びは単なる利便性ではなく投資である
- Discordを選ぶと、そのプラットフォームを正当化し、FOSSプラットフォームに向かうはずの投資を減らす効果がある
- より大きな到達範囲や聴衆があると考えたとしても、それはFOSSエコシステム全体の長期目標より、短期的で個別的な選択に近い
- FOSSプラットフォームは一般にベンチャーキャピタルや大規模なマーケティング予算を持たず、市場獲得のためにダークパターンや搾取的な戦術を使うことも比較的少ない
- Discordの参加者数は、そのサーバーに一度でも入ったことのある全ユーザーを表示するため、実際のアクティブユーザー数とは異なる可能性がある
- DiscordとSlackの代替としてIRC、Matrix、Zulipを検討できる
- SourceHutはIRCに投資しており、chat.sr.htのようなアクセシビリティの高いサービスを作っている
- 他の選択肢としてMatrixとZulipがある
- 同じ論理は他の独自インフラにも当てはまる
1件のコメント
Hacker News のコメント
目的が単にコードをインターネット上に置いておくことなら、どんなツールでも構わないし、むしろ応援する
しかし、できるだけ多くの人にプロジェクトを見つけてもらい、恩恵を受けてもらい、ネットワーク効果まで得たいなら、現代のオープンソース開発で最も多くの人が使っているプロプライエタリなプラットフォームである GitHub と Discord は、事実上選択肢から外せない
自分が運営しているプロジェクトで、1年以上 Matrix だけを使うよう促し Discord を拒んできたが、結局どちらも運用することにしたところ、1か月もしないうちに95%以上が Matrix チャンネルを離れて Discord に移り、コミュニティの規模もはるかに速く拡大した
気に入ってはいないが、人々がいる場所はそこなのだ
Issue、Discussion、Wiki はそうではないが、少なくとも Web 上にあるので検索でき、保存でき、curl でもアクセスできる。libssl のような妙なエラーを検索していて、初めて見るツールの任意の Issue にたどり着き、誰かがデバッグ中に原因をうまく説明してくれていたおかげで問題を解決できたことが何度もある。ブラウザさえあればよい
Discord はまったく違う。インデックスされず、サーバー同士もほとんど壁の中に閉じ込められている。Discord で共有された内容は10〜20年後には消えている可能性が高く、あるプロジェクトの Discord 内で見つかり解決された内容は、そのプロジェクトの外の誰かの役に立ちにくい
IRC にも同じ問題はあったが、テキスト中心だったため、少し複雑な内容はフォーラムやメーリングリストに移され、どちらも Web からアクセスでき検索も可能だった。一部のプロジェクトはログ bot でテキストファイルを Web サーバーにダンプしていた
FOSS の「自由」をどの程度受け入れるかは人によって違うが、多くの FOSS プロジェクトが、最も反自由的な企業の一つのプロプライエタリ製品にそこまで大きく貢献しても問題ないと考えているのは残念だ
実際、チャットのような短時間で質問に答えが返ってきたことはほとんどなく、数日や1週間ほど経つと忘れてしまうか、上にスクロールして再び探すのも難しくなる
検索エンジンにインデックスされないため発見性が低いという話はよく出るが、アカウントを作ったりログインしてサーバーに入ったりするまでは、そのサーバーが完全に死んでいるかどうかすら分からない。入ってみると新規参加通知ばかりで、質問が一つ二つあった後は何の活動もないこともある
最大の問題は、複数のサーバーやチャンネルのチャットを追いきれないことだ。だとすれば、なぜわざわざチャットでなければならないのか分からない。Reddit のような方式のほうがはるかに良く、現在性がありながらチャットほど揮発的ではない
プロプライエタリ・プラットフォームの不買は良い最終目標だが、今すぐ人々を Discord や GitHub のような支配的な共同作業ツールから離れるよう説得するのは、モバイルの二大独占から離れさせるのと同じくらい非現実的だ
結局、プロプライエタリなツールの上に築かれた巨大なハッカー文化のほうが、別のツールの上に築かれた小さなハッカーコミュニティよりも、政治的・技術的自由をより多く生み出すかもしれない。より大きなコミュニティの規模と政治的影響力は重要だ
Discord でサポートを提供しようという話が出るたびに、この話をまたすることになる
お金を払って買った商用製品のサポートを受けようとしたところ、サポート窓口は Discord だけで、チャンネルは電話番号認証を要求していた
24年間使ってきた自分の電話番号を入力したら無効だと表示され、サポートチームに問い合わせると、システムを直す代わりに Discord を使っていない別の人の携帯電話を借りて認証するよう言われた。「一度だけだから大丈夫」とも言われた
公式サポートチームが回避策を勧めるのなら、電話番号認証の目的はいったい何なのか分からない。結局その製品はサポートも受けられず、二度と動作しなかった
分散化、プライバシー保護、セキュリティのプロジェクトが Discord を連絡窓口として使っていると、真剣に受け取れない
「join our Discord」を見た瞬間にタブを閉じてしまうし、気まずいことだ
この記事の焦点が「表現の自由としての自由」の側にあることは分かるが、Discordを嫌う理由はいくらでもあっても、コミュニティ参加ツールとしては驚くほど優れている
GitHubの初期にはこういうものがなかった。社内チャットとしてCampfireはあったが、初期ユーザーや外部のIRCのようにやり取りするためのツールはなく、IRCはたいてい誰も使っていなかったので簡単なプラットフォームではなかった。ユーザーとの会話は普通Twitterのような場所で行っていた
Leah CulverがIRC技術ベースのConvoreを作ってこの問題を解決しようとしていた記憶があるが、いずれにせよ普及しなかった。一方でDiscordは成功し、人が非常に多い。GitButlerのサーバーを開いたところ、ユーザーとつながりサポートするのに本当に優れていた
ユーザー側から見ても、コミュニティに参加する時にとても良い。Planetscaleを使っていて問題が起きた時、サーバーに入って質問すると、実際のPS社員やユーザーからほぼ即座に回答をもらえた。GitHub Issuesに投げて放置されるよりはるかに強力だ
Discordはオープンソースコミュニティに本当に多くのことをしてきた。ohmyzshチャンネルに入ればほとんど何でも答えが得られ、常時アクティブなユーザーだけで1000人ほどいる
単に「FOSSではない」という理由でこれを捨てようという発想は想像しにくい
SwayはDrew DeVaultのプロジェクトなので予想どおりLibreChat/IRCに依存しており、HyprlandはDiscordを使っている
HyprlandのDiscordの方がずっと活発で、質問への回答も得やすかった。チャット履歴とまともな検索の恩恵が大きかった。Swayのソースコードの方がよりよく書かれていて、実行プロセスもより軽そうに見えたが、最終的にHyprlandを選ぶうえで大きな影響があった
IRCに比べて欠点はあるが、平均的なユーザーはDiscordではるかに良い体験をする可能性が高く、それが爆発的な人気の大きな理由だ
Discordは外部の主体が支配し、発言を監視したり恣意的に遮断したりできる特権的な位置に立つため、その正反対だ。GitHubと違い、コミュニティはコードリポジトリやCIシステムよりも移転がはるかに難しく、これは技術的な問題だけではない
自分たちの製品に関心のある人たちが同じ空間に集まっている、という意味で受け止めている
記事の内容には同意するが、Discordの使用はGitHubの使用よりさらに悪い。GitHubはgitベースのサービスなので、アカウントがなくてもリポジトリやファイルをダウンロードでき、複数のサービスにミラーすることもできる
プロジェクトへの貢献や議論のためにGitHubへIssueやpull requestを送ること、GitHubに何かをホスティングすること、Discordの利用が必須であることは問題になり得る。だがGitHubと他の複数サービスにミラーを作り、GitHubのIssueトラッカーを複数の選択肢の一つとしてだけ置くなら問題は小さくなる。ただしGitHub上のIssueにコメントしたい人にとっては、別のIssueトラッカーや議論フォーラムがあっても分断されるという問題は残る
IRCの方がよいが、一部のプロジェクトはIRCとDiscordまたはMatrixをブリッジしているので、必要なら使える。NNTPも役に立ち得るので自分でサーバーを立てたが、ほとんど誰も使っていない
IRCのもう一つの利点は、特殊なIRCクライアントなしでも、おおむね普通のテキストとして使える点だ。TLSが必須ではなく任意で、文字集合がUnicodeではなく表示可能なASCIIであれば特にそうで、そうでなくてもDiscordよりはるかに利用可能だ
開発者ツール企業がデフォルトでGitHub連携機能を提供する広範なエコシステムを見れば分かる。これは差別化要素でもなく、期待される機能になっている。Microsoft GitHubは非常に有利な位置から、良い部分だけを選んでプラットフォームに吸収し、自社の製品とサービスの価値をゆっくり高めることができる
表面的には開かれているが、熱湯の中のカエルのように、次第にプラットフォームへの依存を深めていく。これはgit対GitHubというレベルをはるかに超えている。GitHubの製品群はソフトウェア開発ライフサイクルのさまざまな側面を覆う実際の生産性向上を提供しており、追加も続いている。非常に便利で、クリックするだけでよい
この観点では、gitは去ることを決めた時のデータエクスポート形式にすぎない。他の場所で同等のサービスを見つけられる幸運を祈るしかない
昔のフォーラム時代と独立プラットフォームの価値、そしてプロジェクトとコミュニティの保存された歴史を整理して提供する方法についての記事は多くあった
Discordはリアルタイムチャットプラットフォームなので、今でもその役割には向いていない
人々がフォーラムを離れた理由がすべて正当だったわけではない。ゲームコミュニティ由来の素早いミーム共有プラットフォーム、モバイル優先思考への急激な移行、フォーラム投稿やメール風UXに慣れていない世代差などがあった
しかし今われわれがいるHNも、ほとんどの基準では古典的なフォーラムであり、Redditも百万個のフォーラムのプラットフォームだ。フォーラムは今でも非常に価値があり、単に人気争いと前述の問題の重みに押し下げられただけだ
ほぼ即時のフィードバックは良いが、その時点からはただのソーシャルメディアになっていく。フォーラムはDiscordよりも、人々により緻密で良い文章を書かせると感じる
現在の職場ではphpBBを使い、GitHub discussionを少し混ぜているが、Slackのようなものよりずっと散らかっていなくて良い
DiscordはIRCよりはるかに使いやすいバージョンです。そして大半のIRCチャンネルはログを残しておらず、常にブラックホールでした
今後も永遠にそうだとは期待していませんが、Discordは昔のIRCよりはるかにブラックホール度が低いです
分散型オープンソースが本当に必要なのか、だんだん疑問に思うようになりました。むしろGitHubのようなサービスやチャットサービス、ソーシャルネットワークを運営すると約束した中央集権型の非営利ミッション組織が必要なのかもしれません
すべてのプロジェクトがそれぞれ運営すると、セキュリティもバックアップも不十分なプロジェクトが大量に生まれ、重複作業がものすごく増えます。その分散したチームが1つのプロジェクトで作業していれば、独立して成長した規模より何桁も大きく拡張できたかもしれません
https://web.libera.chatを開いて
/join #channelと入力するより、どう使いやすいのか分かりません大半のIRCチャンネルがログを残していなかったというのは、むしろ良い点です。ログを残していたところは、検索可能なJavaScriptなしのプレーンテキストで提供していたので、2011年のチャットメッセージからでも文字列を簡単に探せました
一方でDiscordの右側にある奇妙な検索UIで、最後に検索に成功したのがいつだったか思い出せません。検索の使い勝手が悪いというだけでも、DiscordはIRCより大きなブラックホールです
中央集権型の非営利GitHubのような組織が必要だという主張については、今の状態がどれくらい続くのか見守る必要があります
ここまで評価が分かれるのが不思議です。皆がそこにいるからその惨状に耐えるのは理解できますが、使い勝手が良いと思うのは理解しにくいです
Matrix/Elementも非常に優れているわけではありませんが、少なくとも代替クライアントの可能性は明確にあります
記事の序盤の論点は、総ユーザー数だけに集中する議論ではおおむね無視されています
自由ソフトウェアに最も熱心なユーザーが二級市民のように扱われています
Discordはアクセシビリティ上の要件があるユーザーにとって良くありません
古いコンピュータのユーザー、特殊なOSやデバイスのユーザーが排除されます
イランのような国のユーザーも排除されます
プライバシー保護を気にするユーザーも排除されます
2024年にIRCは、どんな用途にも適したプラットフォームではないと思います。Matrixは使ったことがなく、定着しているようにも見えません
フォーラムも数年前に諦めました。助けを求める投稿をして数時間後に1件の返信を受け取る代わりに、Discordで他のユーザーとリアルタイムに会話すればよいのに、なぜフォーラム投稿を書く必要があるのか分かりません
FOSSでDiscordを使う問題点は妥当ではありますが、コミュニティが相互にやり取りするためのより良いプラットフォームはないと思います。プロジェクトがすべてをDiscordに依存すべきではなく、ドキュメントのようなものはオンラインにあるべきですが、流動的な議論やユーザー同士の支援には、まともな代替案が見当たりません
Discordを開いたプロジェクトは、ドキュメントが古くなったり不足したりする問題を抱えるように見えます
グループが共同作業に何を使うかは構いませんが、ユーザーをDiscordサーバーへ送るのは、情報を得る特権を受ける前にまずクラブへ入会しろと言われている感じがします。強い排除の雰囲気があります
複数のデバイスを行き来するユーザーには合わず、PCが1、2台なら問題なくても、モバイルデバイスを混ぜると体験が複雑になります。ブリッジやプロキシで緩和はできますが、管理レイヤーがもう1つ増え、そのため他のプラットフォームを好むようになります
通知システムも現代的なメッセージングソリューションに比べて堅牢性が低く、機能も不足しています
登録なしでWebクライアントから始められるので、参入障壁は何より低いです。最初のチャットログはメールで共有します
Libera Chatがhttps://github.com/Libera-Chat/sableへ移行すると、登録ユーザーは24時間分のログを持てるようになり、特に不安定なモバイル接続に有用です
FOSSや類似のDiscordサーバーでの経験では、待ったまま答えを得られないことが多かったです。そして後から探すのも難しく、同じ質問を検索する人も見つけられません
真剣な質問は、プロジェクトで最も重要な非同期掲示板、たとえばRedditやDiscourseに向かうことになります
Discordの最大の問題は、人気プロジェクトであるほど、適切な人がメッセージを読むまで約15秒しかなく、その後は絵文字によって画面外へ押し出されるという点です
ある程度人気のあるプロジェクト [1]をメンテナンスしており、サポート用チャットは Matrix、Telegram、Discord の間でブリッジされています。
Discord へブリッジするという判断は、この記事を読んだあと、かなり長く悩んだ末に下したものです。
純粋さを追求すると、実用性と戦略的な柔軟性を犠牲にし、選択肢が狭まります。目標を達成するには、ときには妥協が必要です。
プロプライエタリなプラットフォームを使うとしても、それを使いたくないユーザーに悪影響を与えないのであれば問題ない、という結論に至りました。つまり、すべてのチャンネルは非 Discord 側とブリッジされているべきで、コミュニティがいかなる形でも分断されてはなりません。
妥協が必要なときは FOSS ユーザーを優先し、Matrix の使い勝手に影響しないよう Discord 専用機能は避けるべきです。今のところはうまく機能しており、ほぼ二兎を得られているようなものです。ブリッジは Ansible プレイブック [2]で設定しており、私の側の労力は比較的少なく済みました。
ただし長期的にコミュニティの分断がどうなるのかは気になります。ツールが1つ増えるたびに、摩擦とメンテナンス負担も増えます。
人々は最も摩擦の少ないツールに集まるかもしれません。たとえば、コア開発者が Matrix を主チャンネルとして使い、他のチャンネルは純粋なミラーとしてのみ見る、といった形で、プロジェクトでの FOSS ツール採用を促せるように思います。