世界を動かす技術を、日本語で。

atprotoに基づいたGitコラボレーションプラットフォーム「Tangled」

概要

Tangled は、AT Protocol上に構築された新しいソーシャル対応のGitコラボレーションプラットフォーム。 分散型中央集権型 の利点を融合した独自のアプローチ。 Knots と呼ばれる軽量サーバーによる柔軟なリポジトリ管理。 ユーザー体験データ所有権 を重視した設計思想。 現在、 tangled.sh で一般公開中。

Tangledの特徴とビジョン

  • Tangled は、AT Protocolを基盤とした 新世代Gitコラボレーションプラットフォーム
  • 開発者の完全なコード所有権 を実現
  • オープンソースコミュニティ による自由な自治
  • ソーシャルで楽しいコーディング体験 の提供
  • 分散型コードコラボレーションの多様なモデル
    • ActivityPub(Forgejo)の フェデレーション型
    • Radicleの 完全P2P型
  • atproto の採用により、 中央ID管理と分散性 の両立
  • Knots の導入
    • 軽量かつヘッドレスな Gitリポジトリ用サーバー
    • シングルテナント/マルチテナント 両対応
    • Raspberry Pi などの自宅ホスティングや、 大規模コミュニティサーバー 運用に最適
  • TangledによるマネージドKnots も無料で利用可能
  • tangled.shのApp View
    • ネットワーク全体を横断した リポジトリの一覧・アクセス・クローン・コントリビュート
    • 異なるKnots間でも シームレスな操作 を実現
  • 主な設計指針(三本柱)
    • データ所有権
    • 低い参加障壁
    • ユーザー体験の妥協なき追求
  • 従来のワークフロー を維持しつつ、 分散性 を確保
  • atproto による ソーシャル連携の容易さ
  • Tangledは現在一般公開中
    • tangled.sh/loginから 誰でも利用可能
    • IRC #tangled(libera.chat) でもサポート提供

Tangledの今後の展望

  • コア機能の拡充と改善 を継続
  • “Dogfooding” による自社内検証とフィードバック反映
  • 分散型の新しいコラボレーション体験 の創出
  • コミュニティ参加・フィードバック の呼びかけ
  • 今後のアップデートや機能追加 に期待

Hackerたちの意見

より分散型のGitコラボレーションのアイデア、めっちゃいいと思う!この分野での普及に対する最大の障壁って何だと思う?サーバーを運営したり、プライベートキーを管理したりする必要があるから?それとも単にネットワーク効果の問題?

GitHubは無料だけど、分散化はお金がかかるよね。

Tangledはサーバーを運営する必要をうまく解消してくれるけど、Gitを使うための独立したプラットフォームも提供してくれる。ほんと素晴らしい!障壁は主にTangledがまだ新しいことかな。みんな知らないし、Bskyやパーソナルデータサーバーが何を提供しているのかも知らないか、ゼロエネルギーのローカルミニマに留まっている感じ。もっと機能が必要だと思う。特に代替クライアント用に、ただの理由で。でも、すでにかなりしっかりしてるし、初期の利用者たちはより良い生活を送ってる。未来はもうここにあって、開発者たちが適切に再分配されるのを待ってるだけだね。

スパム、違法コンテンツ、そして一般的なモデレーション。どのドメインもPDSになり得るし、どのPDSも無限にユーザーをホストできる中で、新しいアカウントのスパムからどうやって守るの?電子書籍やテレビ番組をGitリポジトリに詰め込む人たちにはどう対処するの?もしプロジェクトがリポジトリの管理者の政治的見解のせいでスパムに悩まされているなら、それは問題と見なされるの?それともどうやって解決するの?AppViewの利点は、BlueSkyのように中央のモデレーションチームと一貫したモデレーションポリシーが持てること。自分のPDSで何を投稿しても、通常人々が見るものをキュレーションすることは可能だよね。ただ、ドラマには関わりたくないけど、BlueSkyのモデレーションチームは常に何かしらの決定で批判されてるのが見える。どれを選ぶかはあなた次第。最近は完全に分散型の公共ネットワークと、それに伴う責任や問題にはあまり興味がないな。ATのコンテンツがTwitterのようなものと比べて完全にオープンなのはいいけど、日常の管理が中央集権的で、頼れる権威があるのはすごく助かる。デファデレーションの泥沼に陥ることなくね。考えてみるべき質問:ここで「許可制」のRadicleシードノードを運営するボランティアはいないの?

先週のJJ ConでJujutsuのサポートについて知ったよ: https://blog.tangled.org/stacking

そうそう、これにはスタックPRのサポートがちゃんとあるんだよね。GitHubは何十年もこれを実現できてないけど。もし自分でホスティングする必要があったら、絶対にこれをチェックするよ。ただ、私のために会社でプライベートに使いたいから、Tangledのインスタンスを公共ネットワークに接続しない方法がはっきりしないのがちょっと不安。

ここでのプライベートや企業向けの話はあるの?TangledのスタックされたDiffレビューの流れは、仕事にすごく良さそうだよね。

そうでもないよ: https://tangled.org/@tangled.org/core/issues/60

可能性はあるよ!完全にエアギャップでATバージョンじゃないTangledを提供することについて話し合ったことがあるんだ。ちょっと大変な作業になるから、すぐには無理かも。

これは本当にクールなプロジェクトで、しばらくフォローしてるよ。コードフォージの独占を打破することにも興味がある。コードフォージは同時に複数の問題を解決しようとしていると思うから、この機能を分割して異なるサービスにする価値があると思う。例えば、ほとんどのフォージは、Gitリポジトリのホスティング、ウェブビュー、コラボツール、CI/CDパイプライン、タスク管理を一緒にしてるけど、これらが必ずしも一緒である必要はないと思う。例えば、Gitリポジトリに直接アクセスしないことに慣れているなら、純粋に静的なウェブビューワーを持つことができる: https://pgit.pico.sh コラボについては、パッチセットを共有してローカルでレビューすることに慣れているなら、Gitリポジトリがなくても機能するコラボサーバーを持つことができる: https://pr.pico.sh それから、自分のベアGitリポジトリをVPSでホスティングするのは簡単だよ。Gitはすでに分散型なのに、他のサービスが必要だからといって中央集権化するのは逆効果だよね。

お金を払ってフォージが動くようにしてる人たちを軽く流したみたいだけど、会社を持ってるなら、いろんなベンダーに20枚の請求書を払いたくないよね。CI/CDとウェブビュー、Gitプロバイダーの統合をデバッグするのも面倒だし、チケットを作って直してもらいたいって思うよね。プロジェクトを開発してるときに、どのタスク管理ツールが他の部分と統合できるか考えるのに時間を使いたくないし、開発者としても5つのツールを使い分けて時間を無駄にしたくない。統合されたスムーズな体験が欲しいんだ。Gitが分散型であることは、ローカルコピーを持って中央サーバーとは別に作業できるってこと以外にはあまり価値がないと思う。

複数のサービスに複数のオーナーがいると、信頼の問題にもなるよね。80%の要件を満たすサービスを一つ検証するか、特定の要件を一つずつ解決する10個のサービスを検証するか。もちろん、インフラや機能間の統合についてのスケールメリットもあるし。モノリスもまだまだ存在するけど、開発者の体験がここで妥協されるかもしれないっていうのには同意するよ。

仕事のために公のGitHub組織を使わなきゃいけないんだけど、絡み合った状態でCR部分をやってGitHubに同期するのって「祝福された道」なのかな?レビュー段階で自分のいい習慣を活かせたら嬉しいな!

ミラーリングできるよ!マージ時にGitH*bにプッシュするためのスピンドルパイプラインを書いてみたらどう? :)

Tangledの初期のユーザーの一人で、スタックパッチスタイルのプルリクエストレビューのロードマップを見て、彼らがどれだけ早く機能を構築して出荷しているかに感動したんだ。atprotoの新しいコミュニティの興奮から来てるみたいで、これがどう進展するのかすごく楽しみ!ここには、もっと良い体験や基本的なコントロール、長期的な持続可能性を提供するためのチャンスがたくさんあると思う。

かっこいいけど、これを自分のローカルGitリポジトリサーバーのミラーとして持ちたいな。Tangledがダウンしたり、インターネットが切れたら作業できなくなっちゃうから。

それを妨げるものはないよ!ローカルのGitサーバーの上にノットサーバーを立てられるし、SSHを使ってプッシュしてるんだよね?ノットはGitのベアリポジトリをAPI経由で提供してくれるし、ATプロトコルを使って連携もできるよ。もしTangledのアプリビューがダウンしても、自分のボックスにはいつも通りアクセスできるから安心して。別の方法として、プッシュ専用のリモートを追加するだけで、Gitを使ってミラーリングもできるよ。git remote set-url --add --push tangled [repo]

ただ、これが本当に軽量なサービスで、またJavaScriptが動いてるわけじゃないことを願ってるし、Torでも動いてほしいな。

こんにちは、HNのTangled共同創設者です!最近、OAuthライブラリを切り替える変更を行ったんですが、これが原因で新しいユーザーがデフォルトのノットとスピンドル(GitホスティングサーバーとCIランナー)に追加できなくなってしまいました。今これを発見して修正をプッシュしたところです。ログアウトして再度ログインすれば、リポジトリを作成できるようになるはずです!他に質問があれば、喜んでお答えします!

明日新登場:「スパゲッティ」、ビジネスを運営するためのノーコードプラットフォームと、「ロックイン」、重要なデータを安全に保管するためのボールト。