Codebergへの移行を後悔している

GitHubを離れた一番の理由は、特定の機能や一度の障害がきっかけだったわけではない。Microsoft傘下でプラットフォームが“エンシット化”していったことだ。Webインターフェースは重たいJavaScriptの塊に書き換えられ、以前は普通に動いていたものが壊れるか、そうでなくても耐え難いほど遅くなり、使うこと自体が苦痛になった。技術的な劣化以上に問題だったのは、GitHubがWhatsAppがそうであるように事実上の「公共インフラ」になってしまったことだ。世界のソフトウェアのかなりの部分のソースコードを預かり、その結果としてMicrosoftに、あらゆるプロジェクト、ひいてはあらゆる人のデジタルな生活に対する、本来一企業が持つべきではないほどの支配力と監視能力を与えてしまった。さらに、正当な開発者がMicrosoftの恣意的なBANでアカウントを失ったという話を聞くにつけ、少なくともどこか別の場所にバックアップを持っておいた方がいいという思いは強まった。
Codebergは実行可能な代替に見えた。フリーかつオープンソースのプロジェクトに評判の良い居場所を提供し、しかも何より無料だった。地球上で最大のソフトウェアベンダーの子会社ではなく、非営利団体によって運営されているという点も重要だった。残念ながら、利用規約の最新の更新は、僕がそこに移った理由の一つ、すなわち「自由」の部分を変える第一歩のように思える。
人間の愚かさ
これまで僕が公開してきたプロジェクトは、すべて“人工知能”ではなく、100%人間の愚かさで作られている。より正確に言えばLLMではなく、ということだ。CodebergがLLM主体のプロジェクトを禁止すること自体には、そこまで強い感情はない。少なくとも、正当な暗号通貨プロジェクトが同時に禁止されたことに対して抱いている感情ほどの強さではない。後者は、LLMがその座を奪う数年前まで暗号通貨が“その時々の悪役”だったことを皆がまだ覚えているからという理由だけで、一緒くたにされたようにしか読めない。二つの条項は数日の間隔で出てきた。LLMの禁止が6月29日、暗号通貨の禁止が7月2日で、どちらもAssembly 2026の提案としてだ。そして規約では後者が、なんと「Codebergの評判を損なうコンテンツ」に分類されている。これは要するに「包括的に禁止するだけの確固たる理由も、実際の悪例の数もない」と言っているのと同じ法律用語に聞こえる。
ただ、発表のブログ投稿は非常に出来が悪い。中でも「誰もいない開発チーム」というタイトルのセクションが最悪だ。そこにはこう書かれている。
LLMを使ってコードを書くと、アドレナリンが出る。猛烈なスピードで開発し、大人数のチームがいるかのようにものを作れる。ただ、実際には誰もいない。実際のところ、あなたは(しばしば)一人で、エネルギーをコードに変える統計的な機械と一緒に作業しているのだ。
そして、少し下ではこう続く。
多くの『バイブコーダー』は、自分の周りに実際にはコミュニティがないことに気づいていないようだ。
これは、ほとんどのフリーソフトウェアがどう作られているかという現実からかけ離れている。FOSS開発者の大半は一人でやっている。彼らの周りにある唯一の“コミュニティ”といえば、機能要望を出したりバグ報告をしたりするだけで、ほとんどの場合それ以外何も貢献しないユーザーたちだ。僕はもう何十年も、他愛ない小さなツールを作って公開してきた。このサイトができる前、GitHub自体ができる前からだ(SourceForgeがイケてる時代を覚えているだろうか?)。そして、そのどれ一つとして、少なくともCodebergがあの投稿で描くようなロマンチックな意味での「コミュニティ」に囲まれたことは一度もない。僕はすべてを手で書く一匹狼で、そのために途方もない時間を費やしている。LLMの有無が、本物のコミュニティを持つ本物のプロジェクトと偽物を分けるものだという考えは、どのフォージにある平均的な便利な小ツールの生まれ方を見れば、すぐに破綻する。
正直に言って、Codebergがこんな主張をすること自体、少し鼻持ちならない。なにしろこのプラットフォーム自体がForgejoのバブルの中で生きているようなものだし、ForgejoはGiteaから活発なコントリビューターのコミュニティを反乱して奪い継承したのだ。GiteaはForgejoが存在する前の6年近くをかけてそのコミュニティを築いてきた。誰かのコミュニティをハードフォークすることで手に入れ、それから一人で開発する人たちに向かってコミュニティがないと説教するプロジェクトが、真顔でその主張をするのは無理がある。
さらにCodebergは、「コミュニティがあること」と「ホストする価値のある正当なソフトウェアであること」を混同している。個人プロジェクトに求められるハードルは、ずっと前から動くビルド、できればライセンス、あとはREADMEがあれば十分で、コントリビューターで溢れたチャンネルではない。小規模で一人作者のツール群のエコシステムが価値を持つ理由の多くは、まさに存在を正当化するためにコミュニティを必要としない点にある。個人のコードを預かること自体が最大の売りであるフォージで、その逆を主張するのは妙な話だ。
検閲
僕が引っかかっているのは、LLMプロジェクトの禁止そのものでも、暗号通貨プロジェクトの禁止そのものでもない。「フリーソフトウェア」を掲げてきたハブが、今やユーザーに対してどの種類のソフトウェアが良くてどれが駄目かを指図し始めていることだ。これは見かけ以上に検閲に近い。規約に、あるカテゴリー全体が「評判を損なう」ので削除されうると書き込んだ時点で、判断基準はコードが合法か、動くか、役に立つかではなく、プラットフォームが取った立場に合致するかどうかになってしまう。そうした包括的な禁止に引っかかるプロジェクトのかなりの割合は、バイブコーディングのゴミやクソコインの実装ではなく、正当なソフトウェアだと僕は思う。
僕が思いつく限り、このやり方を取ったプラットフォームは、どんなイデオロギーであれ、どれほど当時は正当化できそうに見えたとしても、ユーザーにイデオロギーを強制し始めた途端に分断を招いている。仕組みはいつも同じだ。現実の問題が現れ、不人気なカテゴリーが分かりやすい犯人にされ、プラットフォームは問題自体に対処する代わりにカテゴリーを禁止し、その禁止が次のカテゴリー、さらにその次のカテゴリーへの前例になる。今日、誰も異論を唱えない形で禁止されるカテゴリーが、明日その仕組みが存在する理由になる。そして最初の禁止に拍手したユーザーたちが、二度目の禁止について意見を求められることはめったにない。
もちろん、どちらのカテゴリーにも問題がないとは思っていない。LLM由来のリポジトリはインフラに負荷をかけ、質の低いissueやプルリクエストを処理しきれない量で生み出し、著作権やコードの出所について現実的な問題を抱えている。これらはすべてCodebergが投稿の中で挙げていることだ。一方の暗号通貨の分野も、ソフトウェアの他のどの領域よりも露骨な詐欺を生み出してきたかもしれない。しかし、その時々の悪役を包括的に禁止しても、そのどれ一つとして解決にはならない。
Linus Torvaldsのような人物でさえ、LLMは単なる道具であり「明らかに有用な道具」だという、至極まっとうな主張をしている。慎重に使い、その出力を他のものと同じ基準で評価する限り、Linuxカーネルの開発においても正当な居場所があるというのだ。地球上で最大かつ最も影響力のあるオープンソースプロジェクトのメンテナが、LLMを見ただけで禁止すべきカテゴリーではなく、結果で判断すべき道具として扱えるのであれば、裏庭のコードフォージにも同じことができるはずだ。
僕自身、これからのテック、そして社会全般に対するLLMの影響を心配している。その心配の度合いは、Codebergのポリシーを書いた人とそう変わらないと思う。ただ、これはまさにコンテンツの禁止に他ならないが、それが進むべき道だとは思えない。
まっとうな解決策
Codebergに望むのは、実際の問題を、実際のリソース問題として扱う解決策だった。彼ら自身が同じ投稿の中で述べているように、問題はリソースの消費とそれに伴うインフラのコストなのだから。利用規約の変更で、例えばリポジトリにLLM生成のコードが含まれているか、暗号通貨関連かどうかのチェックボックスへの申告を作者に義務付けることはできたはずだ。そして申告されたリポジトリは、他のリポジトリと同じリソースを与えられない、別の階層のインフラに分ければいい。特定のクォータが設けられた階層で、消費した分は作者が支払う形にする。正直に申告する分には(少なくとも最初は)コストはかからない。申告せずに発覚した場合にこそ、Codebergが今カテゴリー全体に対して最初から適用しているような、即時の永久BANを課せばいい。
同様に、LLMやCryptoのラベルが付いたプロジェクトには、Codebergがそのリポジトリの品質や正確性について一切責任を負わないことを明記した免責事項を自動表示させることもできるだろう。いっそ、その警告の中でCodebergはLLMや暗号通貨の利用を支持しないとあからさまに書いてもいい。念には念を入れて、誰にでも伝わるようにし、Codebergにとって「評判のリスク」がないことをはっきりさせるために。
こうしたアプローチなら、リソースを食うプロジェクトのコストはそれを作った人が負い、共有リソースはプラットフォームが存在する理由となったプロジェクトのために残しておける。しかもCodebergがどのカテゴリーのソフトウェアがイデオロギー的に容認できるかを決める必要もない。「自分たちが同意できないものは最初から全部禁止する」というやり方は、送るべきでないメッセージだし、非常に危険な坂道だ。
禁止されたどちらのカテゴリーにも当てはまるプロジェクトを一つも持っていないにもかかわらず、僕はこれを機に自分で公開用のGitホストを立てることを検討し、Codebergに移ってわずか数か月でそこから離れるつもりだ。禁止そのものが理由ではない。利用規約を気まぐれに書き換え、その変更が検討されていることすらまともに告知せず、ユーザーに意見を述べる機会も与えないプラットフォームに依存したくないからだ。
この決定は一応Codeberg独自のAssembly 2026を経たものではある。ほとんどのプラットフォームがそこまで手続きを踏まないことを考えれば、それだけでもましではある。ただ、一般ユーザーとしての僕がそれを知ったのは、おそらく他の大半の人と同じように、すでに決定した当日にサイト上部に表示された濃い青のバナー経由だった。ToS変更の告知自体はありがたいが、本当は、この道を進むかどうかをまだ検討している段階でバナーを出してほしかった。議論のスレッドへのリンクが、せめて投票へのリンクがあれば、僕も思っていることを表明できただろう。それは、結局禁止された個々のカテゴリーについてではなく、プラットフォーム全体の自由に関わる懸念だ。
記事をランダムに読む