9 ポイント 投稿者 GN⁺ 4 시간 전 | 2件のコメント | WhatsAppで共有
  • Chattoはグループ・チームチャット向けアプリで、Slack・Teams・Discordのようなグループチャットアプリに近いものの、よりコンパクトで軽快な使い心地を目指している
  • 実行ファイルだけでサーバーを立ち上げ、独自のフロントエンドまで提供するため、個人インフラにも比較的簡単にデプロイできる
  • 各サーバーは1つのコミュニティを担当し、サーバー間のフェデレーションやサードパーティの追跡・分析は行わない
  • 個人データおよびチャットデータはユーザーごとのキーで保存時に暗号化され、アカウント削除時にはそのキーも破棄される
  • この約1年間にわたって開発されてきたグループ・チームチャットアプリケーションであり、正式にオープンソース化され、誰でも自分で運用できるようになった

セルフホスティングとして公開されたChatto

  • Chattoはこの約1年間にわたって開発されてきたグループ・チームチャットアプリケーションであり、正式にオープンソース化され、誰でも自分で運用できる
  • 最も手早い実行方法はHomebrewを使うこと
brew install chattocorp/tap/chatto  
chatto init  
chatto run  
  • インストール手順はGetting Started Guideで確認できる
  • Slack、Teams、Discordのようなグループチャットアプリと近い用途を目指しつつ、よりコンパクトで軽快な使い心地を強調している
  • 実際の動作はChatto HQ Communityで確認できる

サーバー構成とセキュリティモデル

  • 最も基本的な構成では、実行ファイル1つでサーバーを起動でき、サーバーが独自のフロントエンドもあわせて提供する
  • リソース使用量は少なく、個人データおよびチャットデータはユーザーごとのキーで保存時に完全に暗号化される
    • ユーザーがアカウントを削除すると、そのユーザーキーは破棄される
  • 各Chattoサーバーは単一のコミュニティを運用する
    • サーバー間のデータフェデレーションはない
    • サードパーティの追跡や分析もない
    • 複数のサーバーに同時に参加したい場合は、クライアントが各サーバーへ直接接続する
    • 複数のコミュニティをホストしたい場合は、Chattoプロセスを複数起動すればよい
  • 音声・ビデオ通話と画面共有を標準でサポートする
    • 通話はエンドツーエンドで暗号化される
    • 参加者数の拡張は、ユーザーのインフラが処理できる範囲まで可能

配布ファイルと運用資料

Chatto Cloudと有料ホスティング

  • Chatto Cloudはまもなく公開ベータに入る予定で、Chattoサーバーの有料ホスティングのみを提供する
    • プレミアムサブスクリプション、広告、そのほかの追加要素はなく、ホスティングだけを提供する
  • リリース時点のインフラは欧州および欧州所有のインフラで構成される
    • より多くのリージョンは2027年初頭に提供予定
    • すべてのChatto Cloudサーバーは自動スケーリング、毎晩の完全データバックアップ、無停止のバージョンアップグレードを提供する
  • Chatto Cloudはロックインを生まない方向を目指している
    • Chatto Cloudでホストされるサーバーはセルフホスティングサーバーと100%互換
    • いつでもデータを移して、Chatto Cloudの内外へ移行できる

0.4の現状と1.0.0までの計画

  • 現在のChattoバージョンは0.4
    • 本番利用に十分安定していると見なされている
    • まだいくつかの重要機能は不足している
    • 全体計画はChatto Roadmapで確認できる
  • Chatto 0.5の焦点は安全機能とクライアント改善
    • コンテンツ通報とモデレーション機能が含まれる
    • 特にマルチサーバー機能の磨き込みに集中する
  • Chatto 1.0.0には約6〜12か月後に到達する見込み
    • それまでは破壊的変更が入る可能性がある
    • セルフホスティング利用者は、新バージョン公開時に更新できるよう準備しておく必要がある
  • リリース情報やChatto Cloudベータ開始通知はChatto announcementsニュースレターで受け取れ、配信頻度はおよそ月1回

2件のコメント

 
click 28 분 전

Mattermostを使っているのですが、しきりにエンタープライズ版へ誘導し、OSS版の機能は削っていっているので、
十分に成熟したら、Mattermostから移行するツールを一つ作ってみたいですね。

 
GN⁺ 4 시간 전
Hacker News の意見
  • 自社インフラにセルフホスティングしやすいよう設計されている点がよい。ドキュメント(https://docs.chatto.run/)を見ると、Chatto は小さな独立バイナリとして配布され、組み込みのストリーム永続化エンジンを備えた軽量メッセージブローカー NATS を使い、外部の S3 互換オブジェクトストレージも設定できるとのこと
    実際の通話は LiveKit(Apache-2.0)で動作し、Chatto と一緒にデプロイする必要があるが、NATS と同様に、必要な接続設定を示すデプロイ例が用意されている点もよい。口先だけでなく実際のガイドがある優れたプロジェクトだ

    • 本当に素晴らしい。選択肢が増えるのはいつでもよいこと。ただ、ドキュメントを見るとデスクトップアプリケーションがあるのか分かりにくい
      スクリーンショットを見る限りありそうだが、それをダウンロードするためのドキュメントは見つけられなかった
    • CloudflareVercel のように、簡単で安い、あるいは無料に近い場所にもインストールできるのか気になる
  • Hendrik とは数年来の知り合いだが、これまで会った開発者の中でも指折りの才能の持ち主だ。このプロジェクトも非常に早く成功するだろうと確信している
    プロジェクト自体も興味深いが、エージェント型コーディングを活用して一人で開発したという点が特に印象的だ

    • もう30年近く個人的に知っているが、今でもこれまで会った開発者の中で最も賢く、経験豊富で、好奇心旺盛な人の一人だ
      総じて良い人で、いつでもまた一緒に働きたい
    • 彼が作った他の面白いものがあるのか気になる
    • 少し興味があったが、むしろこの発言で避けたほうがよさそうだと説得されてしまった
  • 企業に売るつもりなら、「ユーザーがアカウントを削除したらユーザーごとの鍵を破棄する」という部分は考える必要がある。業務メッセージはユーザー個人ではなく雇用主に属するので、ソフトデリートが必要だ

    • そういう場合は、ユーザーが自分のアカウントを直接削除できないようにすればよさそう。それでも、ほとんどの Chatto ユーザーや提供者にとっては、自動的に削除権を順守する方式がよさそうに見える
    • 雇用主はターゲット顧客ではないのかもしれない
  • ポルトガル語で「chato」が「退屈な」という意味なので笑ってしまった。とはいえ、これはセットアップして使うのがとても簡単そうだ
    もっと多くの退屈なソフトウェアを歓迎する

    • 「うっとうしい」という意味にもなり得る。プロジェクト名や会社名を決める前には、少なくともユーザー数上位10言語で悪い意味がないか必ず検索したほうがよい
      ポルトガル語/スペイン語では、NSFW なスラングである可能性がかなりよくある
  • 素晴らしい。ただ、ウェブサイトのどこを見てもモバイル対応があるのか分からない
    会社や友人たちを移行させるには、モバイル対応は必須だ

    • 計画にはあるようだ
      https://github.com/orgs/chattocorp/projects/1?pane=issue&ite...
    • iOS アプリに通知を送るには、アプリの発行者が通知を送らなければならない点に注意が必要だ。つまり、イベント転送プロキシサービスを運用する必要がある
      Mattermost、Element/Matrix、おそらく一部またはすべての ActivityPub クライアントはこの方式を取っているようだ。そうでなければ、サーバーをセルフホスティングするということは、クライアントアプリも App Store と Apple Developer Program の費用を通じて自分で配布しなければならないという意味になる
  • 引き続き注視するつもりだ。現在 Mattermost を使っているが、価格体系がかなり不安定でエンタープライズ向けになっているため、今は機能が大きく制限されたオープンソース版を使い続けている
    それにビデオ通話が物足りなかったので、Chatto にその機能があるのはよい

  • デュアルライセンスにした理由が気になる。Go バックエンドは AGPL だが、TypeScript フロントエンドは Apache 2.0 のように見える
    なぜ全部 AGPL にしなかったのか気になる

    • バックエンドを AGPL にしておくと、誰かがそれをサービスとしてホスティングするのを防げる。AGPL はホスティングも配布と見なすため、ホスティングする者は誰でもコードを公開しなければならない
      そのため、自社 Cloud を運営するうえで、緩やかな形の独占性を提供する。一方でフロントエンドは、カスタマイズやホワイトラベル化などを許可するには、より寛容なライセンスのほうが理にかなっている
      Grafana がよい例だ。2021年に Apache から AGPLv3 に移行した理由は、クラウドプロバイダーが修正版を貢献なしにホスティングできないようにするためで、プラグインは Apache ライセンスのまま維持した
    • AGPL は、他者が Go バックエンドを使って競合するクラウドサービスを運営するのを防ぐ。フロントエンドには大した効果がなく、エンタープライズユーザーを怖がらせるだけだ
  • セルフホスティング後に、ダウンロード、インストール、ログインの事前設定まで行ってくれるパッケージやリンクを生成できると本当にうれしい。特定の人に紐づいたカスタムインストーラーや設定スクリプトのような形だ
    目標はオンボーディングの摩擦をできるだけ減らすこと。リンクが誤って共有されるなどセキュリティ上の影響はあり得るが、小規模なセルフホストインスタンスなら比較的容易に緩和できそうだ。ローカルアカウントでのみ動作するようにもできる
    こうなれば友人に「ここで自分とチャットしよう」というリンクを送りやすくなり、「もう Discord を使っているから、そういう設定は全部やりたくない」という反応を心配しなくて済む

    • 「インスタンスのリンクを渡すからそこで登録して」以上に何を期待しているのか気になる。Discord 風のロールと組み合わせて、チャンネルの可視性や権限をロールで制限できる
      他の人が登録しても、例えば「内部グループ」ロールを付与しなければよい。ワンタイムトークン付きの招待リンクのようなものを想定しているのだろうか
  • とてもよい。以前似たようなことを考えたことがある。多くの企業は通知を集約し、簡単なボット動作を実行するものを求めているが、必ずしも特定のチャットプロバイダーに縛られたいわけではない
    複数の統合のフロントエンド、あるいは社内チャットだけとしても使えるなら、本当に興味深いものになりそうだ

  • Mattermost と比べたときの Chatto の長所と短所が知りたい
    付け加えると、Chatto のバックエンドが Go で実装されているのはとても喜ばしい。Go はこうした用途に非常によく合っている