Slackはオープンソースか?

SlackはオープンソースではありSEN — Salesforceが所有するプロプライエタリなソフトウェアであり、そのソースコードは公開されていません。Slackをオープンソースで利用する方法を探しているなら、msga は無料のGPL-3.0ライセンスのネイティブデスクトップクライアントで、すでに使っているSlackワークスペースにそのまま接続できます。

「オープンソース」の意味と、Slackの位置づけ

オープンソースソフトウェアとは、誰でも読み、改変し、再配布できるライセンスのもとでソースコードとともに配布されるソフトウェアのことです。Slackはその定義を満たしていません。デスクトップアプリ、モバイルアプリ、バックエンドのインフラはすべてクローズドかつプロプライエタリです。2021年にSlackを買収したSalesforceが、コードベース・サーバー・プロトコルのすべてを管理しています。ユーザーは、アプリが自分のマシン上で何をしているかを検査することも、パッチを当てることも、独自のサーバーを動かすこともできません。

これは見落としではなく、意図的なビジネス上の判断です。Slackの収益はサブスクリプションモデルに依存しており、製品はSlack独自のクラウドインフラと密接に結びついています。セルフホスト型のコミュニティエディションは存在せず、完全に独立した実装を可能にするAPIの完全な仕様も公開されていません。

Slackが公開しているもの

Slackは公開APIと開発者向けツール群(Bolt SDK、Block Kit、Webhooks、Slack App Directory)を提供しています。これらはサードパーティの開発者がSlack上にボットや連携機能を構築するためのものであり、製品自体をオープンソース化することとは異なります。APIの範囲も意図的に制限されており、メッセージングのコアトランスポート、ワークスペース管理の内部仕様、音声・ビデオレイヤーは公開されていません。

Slack開発者エコシステム周辺の補助的なツール類がオープンライセンスで公開されている場合もありますが、クライアントとプラットフォーム本体はクローズドのままです。ここで正確に述べておく価値があります — SDKをオープンライセンスで公開することは一般的かつ有用な慣行ですが、製品そのものがオープンソースであることとは別の話です。

なぜ重要か:プロプライエタリなコード、Electron、リソース消費

多くのユーザーにとって、ソフトウェアがオープンソースかどうかは抽象的な問題かもしれません。しかしSlackの場合、それは日常的な問題として直接現れます。公式デスクトップクライアントはElectronで構築されており、このフレームワークはアプリケーションごとにフルのChromiumブラウザエンジンをバンドルします。その結果、通常の作業中に1GBを超えるRAMを消費し、起動に数秒かかり、ウィンドウをバックグラウンドに置いているだけでもCPUコアが動き続けることになります。

コードがプロプライエタリであるため、ユーザーには打つ手がありません。軽量なレンダリングエンジンでクライアントを再コンパイルすることも、不要な機能を無効にすることも、アプリがネットワーク越しに何を送信しているかを検査することもできません。配布されたバイナリをそのまま受け入れるしかないのです。

これはクローズドソースモデルの構造的な制約であり、個々のエンジニアへの批判ではありません。同じ制約は、あらゆるプロプライエタリElectronアプリケーションに当てはまります。

msga:GPL-3.0のオープンソースSlackクライアント

msga(Make Slack Great Again)は、C++とQt6で構築された無料のオープンソースSlackデスクトップクライアントです — Telegram Desktopと同じフレームワークを使用しています。ウェブラッパーではなくネイティブアプリケーションであるため、1秒以内に起動し、CPU使用率はほぼ0%でアイドル状態を維持し、公式ElectronクライアントのRAM消費のほんの一部 — 一般的な使用では約60〜100MB程度 — しか使用しません。

完全なソースコードはGPL-3.0ライセンスのもとでGitHubに公開されています。誰でもコードを読み、監査し、問題を報告し、パッチを提供することができます。すでに所属しているSlackワークスペースでそのまま動作し、別のアカウントやサービスは必要ありません。

msgaはLinux、macOS、Windowsで動作し、モダンなC++/Qt6スタックで構築された唯一のネイティブオープンソースSlackクライアントです。現在の状態についても正直に伝えます:一部のSlack機能はまだロードマップ上にあり、プロジェクトは活発に開発が続いています。すべてのSlack機能に依存している場合は、完全に移行する前にプロジェクトページを確認することをお勧めします。しかし、コアとなるユースケース — ブラウザエンジンをバックグラウンドで動かさずにワークスペース横断でメッセージを読み書きする — については、今すぐ使えます。

なぜGPL-3.0なのか

GPL-3.0は強力なコピーレフトライセンスです。msgaの改変版を配布する者は誰でも、その改変のソースコードを同じ条件で公開しなければならないことを保証します。これは意図的な選択です — ある企業がコードを取得し、プロプライエタリな変更を加えてクローズドなバイナリとして配布するというシナリオを防ぐためです。コミュニティへの貢献はコモンズの中に留まります。

ユーザーにとっての実際的な意味はシンプルです:いつでもソースコードを入手し、自分でアプリケーションをビルドし、主張通りの動作をするかを確認できます。これは仕事上のコミュニケーションを扱うソフトウェアにとって、意味のある特性です。

まとめ

Slack(公式)msga
ライセンスプロプライエタリGPL-3.0
ソース公開なしあり
クライアント技術Electron(Chromium)C++ / Qt6(ネイティブ)
おおよそのRAM使用量1〜2 GB以上約60〜100 MB
セルフホスト可能なバックエンドなしSlackのAPIを使用
対応プラットフォームLinux、macOS、WindowsLinux、macOS、Windows

Slackは優れたプロダクトであり、クローズドソースであることに関わらず、多くのチームにとって適切な選択肢です。しかし、「Slackはオープンソースか?」という問いが — 監査可能性、リソース消費、ソフトウェアの自由への関心から — あなたにとって重要であるなら、正直な答えは「いいえ」であり、msgaはまさにその代替の道を提供するために存在しています。Slackワークスペースはそのまま使い続けながら、重くて不透明なクライアントを、より軽量で透明なものに置き換えることができます。

試してみる価値があると思ったら、msgaをダウンロードするか、GitHubでソースコードを閲覧してみてください。

関連記事

msgaを無料で試す新しいアカウントは不要 — ElectronクライアントをネイティブなオープンソースのAlternativeに置き換えましょう。

msgaをダウンロード — 無料