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

私たちのプロジェクトにAIの粗悪な成果物を持ち込むのはやめてください、履歴書を飾るために。

概要

  • GitHub でのオープンソース貢献が就職活動の重要な指標となる現状
  • AIツール による表面的な貢献が急増している現実
  • 本質的価値 のないPRや脆弱性報告がプロジェクト運営に負担を与える問題
  • オープンソースは 信頼実質的な改善 が重要
  • 真に貢献したい人だけが参加すべきという提言

オープンソース貢献の“通貨化”とGitHubの現状

  • GitHub では貢献活動がプロフィールやリポジトリで可視化される仕組み
  • 採用担当者やリクルーターが 貢献履歴 を重視する傾向
  • ソフトウェア開発者にとって 貢献アピール がキャリア形成の一環
  • 最近は プルリクエスト(PR) の提出が増加
  • Issueにも AI生成の分析 が添付されるケースが増加

AIによる“貢献”の増加とその実態

  • AI を活用した表面的な貢献(例:スペル修正、形式的なPR)が増加
  • Claude などのLLMにより、プロジェクト選定・問題発見・PR作成が容易化
  • 実際にプロジェクトを利用していなくても 貢献者を装える 状況
  • 他者からは本当に興味を持っているかどうか判断が困難
  • 人間の能力を過剰に演出 できるGitHubプロフィールの問題

メンテナー視点での違和感と対応

  • 数年間活動のなかったユーザーが AI生成のPR を複数提出
    • コメントのスペル・文法修正のみ
    • PR説明文やコミット署名もAIが自動生成
  • 内容自体は正しいが、 プロジェクトへの実質的な貢献 ではないと判断
  • PRを無言でクローズ し、前例を作らない対応を選択
  • 本質的に価値のないPRを 受け入れたくない意志

セキュリティ報告におけるAI活用の課題

  • CVE 報告もAI生成のものが急増
  • セキュリティ修正自体は重要だが、 動機が“クレジット稼ぎ” の可能性
  • 低重要度の報告には CVE発行を見送る など、選別を強化
  • プライベート開示の意義や、 公開までの調整負担 の増大

オープンソースにおける本質的な価値

  • オープンソースは 信頼実質的な改善 の上に成り立つ
  • 重要なのは LLMが生成したPR数やCVE数ではなく、プロジェクトへの実効的な貢献
  • プロジェクトを本当に良くしたい人 だけが参加すべきという主張
  • “グリーンスクエア”や“バッジ” 目的の貢献は歓迎しない姿勢

Hackerたちの意見

著者が言いたかったのは「磨く」ってことだと思う。AIを使ってないことを賢く示してるね :-)

「提供する」の方が意味が通じるね。

こんにちは、ニール!HNであなたを見るのは楽しいね。あなたの意見に賛成だし、「結局、オープンソースは信頼に基づいている」ってまとめ方がすごくいいと思う。AIがオープンソースや他の多くの分野で信頼を壊してるから、これが将来的にチームがソースコードを公開するのをためらわせると思う。一方で、個人的なつながりがますます重要になってきてるけど、これは若い世代やテックハブの近くに住んでない人には不公平だよね。

今日のオープンソースの概念は元々のものとは違うよね。昔は「これを作ったよ、コードはこれ」って感じだったけど、今はFacebookみたいな変なパラソーシャルなものになっちゃった。

2020年のハクトーバーフェストのTシャツに関する似たような問題を聞いたことがあるけど、その時はそこまで自動化されてなかったよね。: https://news.ycombinator.com/item?id=24643894

同じこと考えてた。Tシャツのために人がどれだけ頑張ったか。今はキャリアをアップさせるチャンスがあって、しかももっと価値があるし、努力も少なくて済む。残念ながら、そうなるよね。

修正は修正だけど、(私もOSSのメンテナーだから)貢献者のステータスを上げるようなものは受け入れたくないんだ。メリットが非常に限られてると思うから。これらのPRをプラットフォームで別のカウントにしたり、タイムラインで色分けして目立たなくしたり、もっと分かりやすくするのはどう?

「PRをカウントする」っていうアイデア自体が虚栄心の指標として欠陥があるから、虚栄心の指標はそもそも欠陥があるんだよね。ここには技術的な解決策はないと思う。問題は技術的なものではないから。__ ハック/罠: 「ああ、ヒントありがとう :)」ってコメントして、自分で変更を加えちゃおう。その反応を見てみて。詐欺師をハックしよう。地球をハックしよう。

変化は素晴らしくない限り悪い。明らかな改善でない限り、メンテナーがそれをレビューするために時間をかける価値があるかどうかを考えなきゃいけない(そして、そのコードを永遠にサポートすることも含めて)。たとえこれらの特定の変更が「無害」でレビューが簡単でも、それを受け入れることは、プロジェクトを圧倒する持続不可能なAI生成の変更の洪水を促す先例を作ることになるんだ。

ステータスの向上を許可してもいいんじゃない?これはゼロサムじゃないし。

君の言ってることは正当だと思うよ。何ヶ月も何年もかけてプロジェクトに取り組んで、質の高い作品を作り上げたと想像してみて。それが注目されるものになって、リスクを全部背負ったのに、誰かがスペルミスを直すためにPRを出して、自分の名前が「貢献者」としてリポジトリに載る。そしたら、その後すぐに「[...]に貢献した」とか、「[...]に関わったソフトウェアエンジニア」として履歴書に書かれるのが目に見える。実際には何もしてないのに、自分の仕事のクレジットを誰かと分け合うことになる。それは怒りを引き起こすよね。((もちろん、これはただのジュニアたちがこのひどい業界で頑張ってるだけかもしれないけど。)) でも、経験が浅いけど有効な貢献の試みを軽視しないように気をつけよう。誰かが本気で自分のソフトウェアに貢献したいと思ってくれるのは、すごくありがたいことだから。もし誰かが頑張ってるようなら、十分じゃないからってスノッブに振る舞うよりもアドバイスをあげた方がいいよ。多くのPRは、実際には小さな修正だけで通ることが多いし。

こういう修正は、アーキテクチャを壊したり、ほとんど得られない利益のために無駄に膨らませたり、書き直しを要求しながら書き直しを拒否したり、他にも面白い現象がたくさんある。LLMによるコードの貢献は、プロジェクトを長期的に考えるとゴミみたいなもんだよ。こういう混乱を受け入れているクローズドソースプロジェクトを見てみて。Windowsなんて、エクスプローラーを開くのに数秒かかるし、他にもいろんな惨事がある。

Hacker Newsで議論の続きを見る