2 ポイント 投稿者 GN⁺ 2024-03-06 | 1件のコメント | WhatsAppで共有

Radicle Heartwood プロトコル & スタック

  • Radicle Heartwood は、ピア間のコード協業および公開スタックである Radicle プロトコルの3番目のバージョン。
  • このリポジトリには、ユーザーフレンドリーなコマンドラインインターフェース rad とネットワークデーモン radicle-node を含む、Heartwood の完全な実装が含まれている。
  • Radicle は、ユーザーの主権と自由を守る安全で分散型の強力な代替手段であり、GitHub や GitLab のようなコードフォージを置き換えるために設計されている。

インストール要件

  • Linux または Unix ベースのオペレーティングシステムが必要。
  • Git 2.34 以上が必要。
  • OpenSSH 9.1 以上と ssh-agent が必要。

バイナリからインストール

  • curltar が必要。
  • 最新のバイナリリリースをインストールするには、次のコマンドを実行する: sh <(curl -sSf https://radicle.xyz/install)

ソースからインストール

  • Rust ツールチェーンが必要。
  • このリポジトリ内で次のコマンドを実行して、Radicle スタックをソースからインストールできる: cargo install --path radicle-cli --force --locked cargo install --path radicle-node --force --locked cargo install --path radicle-remote-helper --force --locked
  • または、シードノードから直接インストールできる: cargo install --force --locked --git https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git \\ radicle-cli radicle-node radicle-remote-helper

実行

  • システムデーモンと HTTP デーモン向けの Systemd ユニットファイルが /systemd フォルダに提供されている。これは追加のカスタマイズの出発点として利用できる。
  • また、2つのクレートには Dockerfile も含まれている。
  • デバッグモードでの実行方法については HACKING.md を参照。

貢献

  • Radicle への貢献方法の紹介については CONTRIBUTING.mdHACKING.md を参照。

ライセンス

  • Radicle は MIT ライセンスおよび Apache License (Version 2.0) の条件の下で配布されている。
  • 詳細は LICENSE-APACHELICENSE-MIT を参照。

GN⁺の見解

  • Radicle は中央集権型コードホスティングサービスの代替として、ユーザーのコード主権を強化しようとする分散型コード協業プラットフォーム。開発者にデータ所有権とプライバシーのコントロールを提供する点で、非常に重要な価値を持つ。
  • Radicle が提供する分散型ネットワークは中央サーバーに依存しないため、サービス停止や検閲から自由であるという利点がある。一方で、これはネットワークの安定性や速度に影響を与える可能性があり、ユーザー体験に悪影響を及ぼすこともあり得る。
  • Radicle はオープンソースプロジェクトであり、開発者コミュニティの貢献を通じて継続的に発展している。これにより、技術的課題の解決や新機能の追加において迅速な対応が可能という利点がある。
  • Radicle を導入する前には、既存の中央集権型サービスとの互換性、プロジェクトのセキュリティ要件、そしてチーム内での導入障壁などを考慮する必要がある。
  • 類似の機能を提供する他のプロジェクトとしては、GitLab のセルフホスト版や Gitea のようなオープンソースの代替があり、これらはユーザーが自分のサーバー上でコードを管理できるようにする。

1件のコメント

 
GN⁺ 2024-03-06
Hacker Newsの意見
  • プロジェクト共同創業者からの挨拶と、プロトコルがどのように動作するかを説明するリンクの案内。ドキュメントはまだ作業中。

    こんにちは、Hacker Newsのみなさん。私はこのプロジェクトの共同創業者です。プロトコルが内部的にどのように動作するのか気になる方は、ここから始めてください: Radicle docs。ただし、ドキュメントはまだ作業中です。

  • プロジェクトは目的に合っているように見えるが、git自体もすでにオープンソースでP2Pだという意見。gitは追加のバイナリなしで他のサーバーに接続し、コードを直接取得したりマージしたりできる。gitに欠けているのは、コードのissue、wiki、議論、GitHub Pages、そして最も重要な開発者プロフィールのネットワーク。プロジェクトのメタデータを.git自体に含める方法が必要で、wikiやissueと混同しないために独立した参照が必要かもしれない。

    このプロジェクトは目的に合うようによく作られているようですが、git自体もすでにオープンソースでP2Pです。別のバイナリをインストールしなくても、他のgitサーバーに接続して、gitコマンドでコードを直接取得したりマージしたりできます。gitに欠けているのは、コードのissue、wiki、議論、GitHub Pages、そして最も重要な開発者プロフィールのネットワークです。プロジェクトのメタデータを.gitに含められる方法が必要です。おそらくgit notesのような独立した参照が必要になるでしょう。 git-notes docs

  • Radicleの発展を見守るのは非常に興味深い。Protocol Berg 2023でのワークショップに参加した後、とても強力で新しいものを構築したと思った。プロトコルのコラボレーション面もローカルファーストである点が最も興味深く、インターネットがなくてもパッチやissueを提出でき、GitHubに問題があってもチームが影響を受けない。

    Radicleが過去5年間で発展していく様子を見てきたのはとても興味深いことでした。2023年のProtocol Bergで開かれたワークショップに参加しましたが、彼らは非常に強力で新しいものを作ったと思います。特に、プロトコルのコラボレーション面もローカルファーストに設計されていて、インターネットがなくてもパッチやissueを提出でき、GitHubに障害があってもチームが影響を受けないという点が最も興味深いです。

  • MITとApacheライセンスの両方を使う理由への疑問。MITライセンスによってApacheライセンスが提供する追加の責任、特に特許ライセンス付与条項を回避できてしまわないか、という指摘。MITライセンスは特許に言及していないため、それならなぜMITライセンスだけを使わないのかという疑問。

    MITとApacheライセンスの両方を使う理由が気になります。批判ではなく、私が間違っているかもしれませんが、MITライセンスによってApacheライセンスが提供する追加の責任を回避できてしまわないでしょうか? 特に特許ライセンス付与条項についてです。MITライセンスは特許について触れていないので、だとしたらなぜMITライセンスだけを使わないのか気になります。

  • 一般の人がこうしたリポジトリをどれほど簡単に見つけられるのかという疑問。robots.txtファイルがないため、検索エンジンによるクロールは可能そう。GoogleとDDGでは検索結果に出るが、まだ上位ではない。順位は改善する可能性がある。CI(継続的インテグレーション)支援を統合するツールも面白そう。信頼できるアイデンティティからのpushだけに制限できる、より良いツールが必要。最後にアーティファクトリポジトリへの言及。Radicleがすべてを解決する必要はなく、特に分散ネットワークを通じた大容量バイナリ共有はすぐに望ましくない用途に使われうる。

    こうしたリポジトリが一般の人にとってどれほど見つけやすいのか気になります。robots.txtファイルがないようなので、検索エンジンがクロールできそうですし、実際にGoogleやDDGで検索すると結果が出てきます。まだ上位ではありませんが、siteフィルタを使わなければ順位が改善するかもしれません。CI(継続的インテグレーション)支援を統合するツールも興味深いでしょう。信頼できるアイデンティティからのpushだけに制限できる、より良いツールが必要です。そして最後にアーティファクトリポジトリへの言及がありますが、Radicleがすべてを解決する必要はありません。特に分散ネットワークを通じた大容量バイナリ共有は、すぐに望ましくない用途に使われる可能性があります。

  • プロジェクトの公開を祝福し、長く見守ってきて成熟したことに興奮しているという声。GitHub上のプロジェクトをどう移行するのか、テスト中にミラーモードがあるのかという質問。

    公開おめでとうございます! このプロジェクトを見守りながら、どれほど成熟したかを見るのは本当に興味深いです。現在GitHubにあるプロジェクトはどのように移行できますか? テストしている間のミラーモードはありますか?

  • ドキュメントでは、自分が所有または管理するリポジトリだけを公開し、他の管理者と連絡を取って重複したリポジトリIDを初期化しないようにすることが重要だと述べている。しかし人々はドキュメントを読まなかったり注意を払わなかったりして、こうした要請を無視する可能性が高い。ホームページではコードのpush方法を案内しているが、この重要な要請はユーザーガイドにしかなく、問題になりうる。

    ドキュメントでは、自分が所有または管理しているリポジトリだけを公開し、他の管理者と連絡を取って重複したリポジトリIDを初期化しないようにすることが重要だと述べています。しかし、人々はドキュメントを読まなかったり注意を払わなかったりして、このような要請を無視する可能性が高いです。ホームページではコードをpushする方法を案内していますが、この重要な要請はユーザーガイドでしか見つからず、問題になる可能性があります。

  • "peer to peer" や "distributed" のような用語の正確な定義を求める声。こうした言葉はバズワードとして使われると非常に曖昧になりうる。

    人々には "peer to peer" や、より一般的には "distributed" という用語を正確に定義してほしいと思います。こうした用語はバズワードとして使われると非常に曖昧になりがちです。

  • 公開を祝福し、gitの代わりにpijulを使う似たプロジェクトである nest.pijul.com を思い出したというコメント。

    公開おめでとうございます! これはgitの代わりにpijulを使う似たプロジェクト、nest.pijul.com を思い出させます。

  • 話題からそれるが、NESticleを思い出したという言及。

    話はそれますが、これはNESticleを思い出させます。 NESticle wiki