HN 日本語サマリー

← 一覧へ戻る
オープンソース

GitHubには代替手段はあるが、置き換えはない

GitHub has alternatives, but no replacement (lalitm.com)

69 pointsby lalitmaganti91 コメント

要約

Codebergが生成AIコードを禁止したことを受け、GitHubの代替となりうるプラットフォームの現状が議論されている。多くの代替案はGitリポジトリのホスティングは提供するものの、GitHubのような共有されたコミュニティ機能や発見性を提供できていない。分散化だけでは不十分で、開発者が慣れ親しんだソーシャルレイヤーや発見メカニズムを持つプラットフォームが必要とされている。

全文翻訳

Codeberg、Gitコードホスティングプラットフォームは最近、生成AIによって書かれたコードが大部分を占めるプロジェクトを禁止するという決定を下しました。これは懸念と広範な議論を巻き起こしました。 この決定は私を驚かせたものではなく、批判として言っているわけではありません。Codebergは常に、中立的なインフラではなく、GitHubのミッションドリブンな代替として自身を位置づけてきました。 私が興味を引かれるのは、その反応における失望です。多くの人々が、数少ない実行可能なGitHubの代替の1つが自分たちや自分たちのプロジェクトを排除したかのように反応しました。彼らはCodebergが普遍的な代替、より良いGitHub、そしてそれを離れる際の明白な場所であることを望んでいました。 私にとって、それはオープンソース分野における大きなギャップを露呈させています。Gitリポジトリをホストする場所はたくさんありますが、オープンソースコミュニティをホストする場所は驚くほど少ないのです。GitHubはプロジェクトに共有されたアイデンティティ、習慣、発見への道を提供しています。代替案のどれも、それを同規模で再現できていません。 私は、答えが別の集中型プラットフォームである必要はないと考えていますし、すべてのプロジェクトが一箇所に存在するべきとも考えていません。しかし、分散化だけでは十分ではありません。GitHubに取って代わるものは、共有されたソーシャルレイヤー、つまり貢献者がすでに持っているアイデンティティ、彼らが理解している慣習、そしてネットワーク全体でプロジェクトを発見する方法を依然として必要としています。 なぜセルフホスティングではないのか? GitHubへの不満が出るたびに、誰かが必ずこう言います。「Gitは分散化されている。フォージをセルフホストすればいい」。 私は何年もGiteaをセルフホストしているので、この議論には非常に馴染みがあります。セルフホスティングは個人プロジェクトにはうまく機能しますが、見知らぬ人に貢献してもらいたいものには使いたくありません。GitHubでは、ほとんどの人がすでにアカウントを持っており、イシューやプルリクエストの仕組みを理解しています。私のフォージでは、小さなバグを報告するためでさえ、別のアカウントを作成し、私のフォージの仕組みと従ってもらいたい慣習を学ぶ必要があります。誰かが本当に気にかけていない限り、おそらくわざわざしないでしょう。私もそう思います。 そして、貢献はその半分にすぎません。GitHubはかつて、発見において本当に優れていました。私は、フォローしている誰かがスターを付けたプロジェクトを定期的に見つけていました。それはしばしば、自分で検索するような分野ではありませんでした。それは、人々が物を作っていることの周りに構築されたソーシャルネットワークのように感じられました。 GitHubはそのフィードを再設計して以来、私はほとんど訪れなくなりました。デフォルトは強力です。一度、発見が私の目の前に提示される体験の一部でなくなったとき、それは私のワークフローからほとんど姿を消しました。 なぜGitHubではないのか? GitHubの基本的な体験は着実に悪化しています。遅く、物事が定期的にロードされず、通知は信頼性がありません。GitHub自身も最近、2つの大きなインシデントを「許容できない」と説明しました。 そのプルリクエスト体験もひどいものでした。大きなPRはナビゲートやレビューが非常に遅いです。スタックされたPRは、大規模なソフトウェア企業では10年以上前から一般的でしたが、GitHubではつい最近のことになり、それでもかなりバグが多いようです。 GitHubのAIへの推進で私を苛立たせるのは、コアとなるフォージが無視されている一方で、Copilotがあらゆる場所に出現していることです。レビューインターフェースがすでに苦労しているのに、より多くのコードを書くエージェントは役立ちません。 Ghosttyはこのフラストレーションを象徴しています。4月下旬、Mitchell Hashimotoは、頻繁なダウンタイムがメンテナーの作業を妨げているため、GhosttyがGitHubを離れると発表しました。 私がこの投稿を書いている日、GitHub Actionsのダウンタイムのために約2時間PRレビューができませんでした。これは、毎日何時間もあなたをブロックするなら、もはや真剣な作業の場ではありません。 興味深いことに、彼はGitHubが単なるホスティング以上のものだという点も指摘しています。 「Gitは分散化されている!」という群衆へ:問題はGitではなく、その周りで私たちが依存しているインフラストラクチャ、つまりイシュー、PR、Actionsなどです。 Hashimoto氏は、Ghosttyが複数の商用およびFOSSプロバイダーと交渉しており、段階的な移行を計画していると述べました。そのような著名なプロジェクトが、明白なデフォルトに移行するのではなく、選択肢を探さなければならなかったという事実は、まさに私が言っているギャップです。 なぜ代替案ではないのか? 代替案とそれぞれの問題点を検討する価値があります。 GitLabは有能ですが、GitHub以上に非常に企業的だと感じます。また、人々がプロジェクトや開発者を見つけるのを助ける点で、GitHubほど優れているとは感じていません。 SourceHutは焦点を絞っており、透明性があり、Codebergと同様に、価値観を公然と重視しています。そのメール中心のワークフローは、Linuxカーネルのようなプロジェクトで実証されていますが、ほとんどのGitHubユーザーには馴染みがありません。 Forgejoのフェデレーションプロジェクトは、最終的にセルフホストされたインスタンスを共有ネットワークに接続する可能性があります。有望に見えますが、開発にはかなりの時間がかかっており、まだ実験的であり、セルフホスティングのソーシャル断片化に対する実用的な答えにはなっていません。 Radicleは技術的に興味深いです。リポジトリはピアツーピアで複製され、イシューとパッチはそれらと一緒に保存されます。しかし、公開プロジェクトのGitHubの代替としては、まだ未熟すぎると感じます。例えば、その公開Webインターフェースではリポジトリを閲覧できますが、貢献するにはCLIまたはデスクトップアプリケーションをインストールする必要があります。バグに遭遇した人が、それを報告するためだけにフォージのソフトウェアをインストールしなければならないのはおかしいです。 私が最も興味を持っているプロジェクトはTangledですが、それは主に直感に基づいています。私はコードを取り巻くソーシャル体験に焦点を当てているのが好きです。例えば、そのホームページには、古いGitHubのように、クールなプロジェクトがたくさんすぐに表示されます。しかし、それはまだアルファ段階であり、真の代替案に開花できるかどうかはまだわかりません。 退屈な会社がギャップを埋めることができるか? 際立っているのは、GitLabを除いて、すべての競合他社が分散化またはソーシャルミッションを中心に構築されていることです。これにより、それぞれが「わかりやすい」という点で、営利企業よりも根本的に劣っています。そこに、1社くらいは入り込む余地があるのではないかと考えさせられます。 それは、ベンチャーキャピタルに支えられたスタートアップというよりは、bunny.netのようなものかもしれません。ソフトウェア開発のオペレーティングシステムになる野心も、投資家が現在エキサイティングだと考えているテクノロジーを中心にプログラミングを再編成する野心もない、意図的に退屈な会社です。それは単に、オープンソースのコラボレーションを快適で信頼性の高いものにすることに集中し、開発者や小規模組織に直接請求し、その収益がサポートするペースで成長するかもしれません。 開かれた疑問は、これが実行可能なビジネスになりうるかどうかです。難しい部分は、まさに私が常に言っている、欠けているものです。共有アイデンティティ、共有された慣習、そして発見は、プラットフォームがある程度の規模に達すると価値を持つようになります。より良いリポジトリホスティングだけでは、このコールドスタート問題は解決しないでしょう。 誰かが、あるいは誰かがそれを解決するかどうかはわかりません。しかし、真の代替案は、ソーシャルレイヤーを製品として扱い、十分なリポジトリがホストされたら自動的に現れるものとしてではなく、扱う必要があります。 bylawsの英語訳によると、Codebergの目的は「フリーコンテンツとフリーソフトウェアに関連する社会的・哲学的問題への意識を高めることも意図している」とされています。 Stacked PRsは、大きな変更を個別にレビュー可能な依存関係のある一連の変更に分割します。 例えば、GitLabのホームページでは、それを「DevSecOpsのためのインテリジェントなオーケストレーションプラットフォーム」と説明しています。 例えば、その利用規約は、暗号通貨とブロックチェーンプロジェクトを禁止しています。 Forgejoは、フェデレーションは活発に開発されており、実験的と見なされていると述べています。モデレーションとアクセス制御はまだ開発されておらず、破壊的な変更が予想されます。 RadicleのWebインターフェースは読み取り専用であるため、操作にはCLIまたはデスクトップアプリケーションが必要です。リリースやバンドルされたパッケージレジストリなどの機能はありません。CIはコミュニティプロジェクトを通じて可能ですが、公式ではなく、緊密に統合されていません。 Bitbucketは明白な既存の反例です。従来の商用フォージであり、GitHubに匹敵する共有オープンソースコミュニティに発展したことはありません。 この投稿を楽しんでいただけましたか?最善のことは、それを共有することです。Hacker Newsで、Lobstersで、またはコピーして