コミットで広告しないでください
(akselmo.dev)- コミットメッセージは技術的な情報を記す場であり、"Assisted by blabot" のような文言はツールや会社名を露出させる広告になる
- オープンソースプロジェクトがその企業からお金を受け取っていないのに、利用料を払ったユーザーがコミット内に 宣伝文句 を入れる慣行が問題になっている
- AIツールの使用有無は必要なら マージリクエスト で明かせばよく、コミットには "generated by an LLM" のような一般的な表現のほうが適切
- コミット、メール、その他のメッセージに広告文を自動挿入するツールは 悪いツール であり、本質的な問題はツール利用そのものよりメタデータの汚染にある
- "Co-authored-by" のような形式も、技術的な協業情報を超えて特定のボットやサービスを露出させれば 無料の広告枠 になってしまう
コミットメッセージは技術情報の場であるべき
- コミットメッセージに "Assisted by blabot"、"co-authored-by: slopgpt"、"sent from my fartphone" のような文言を入れると、会社名やツール名を露出させる広告になる
- オープンソースプロジェクトがその企業から資金を受け取っていないのに、利用料を払っているユーザーがコミット内に企業の宣伝文句を入れる構図が問題
- 広告ブロッカーを使いながら、コミットには広告を入れるという矛盾が生じる
- コミットは 技術的情報 を記す場所であり、特定のツールや会社の宣伝スペースであってはならない
AIツール使用の開示方法
- 必要な場合、AIツールの使用有無は マージリクエスト で開示すればよい
- コミットには特定の企業名や製品名ではなく、"generated by an LLM" のような一般的な表現を残すほうが適切
- 特定の会社名をコミットに入れることは、無料の広告スペースを提供する行為になる
- そもそもそのようなツールを使わないという選択も可能
ツールに対する基準
- コミット、メール、その他のメッセージに広告文を自動で入れるツールは 悪いツール と見なせる
- 問題の核心はツールを使ったかどうか自体よりも、生成物のメタデータやメッセージに企業の宣伝文句が入り込むやり方にある
- "Co-authored-by" のような形式も、技術的な協業情報を超えて特定のボットやサービスの露出に使われれば広告になる
関連する立場
- Why I will likely never use AI programming tools: 別途まとめられたAIに関する立場
1件のコメント
Lobste.rsの意見
コミットやメールのようなメッセージに広告を付け足すツールが本当にひどいツールだというのはその通りだが、解決策はそうしたひどいツールの使用を見つかりにくくすることではなく、そんなツールを使わないことだと思う
個人的には、こういうことをする人たちが自分からそれを露呈したがる点にはむしろ感謝している
結局のところ本当の解決策は、成果物に広告を入れるツールを使わないことだ
LLM生成コードを避けることを重要だと考える人は多いので、LLM利用の開示を減らす方向は正しくないと思う
コミットメッセージにその情報を入れれば、slopcheck のようなツールでコードベースにLLM生成コードが含まれているかを自動判定しやすくもなる
ただし重要なのはどのLLMを使ったかではなく、LLMを使ったという事実だ。こうしたツールの利用者がその形に変えれば、特定製品の広告による害を減らしつつ、開示の必要性も満たせる
言いたいことは完全に理解できるが、1点だけ少し見方が違う
AI企業がまったくの無料広告を得ていて、しかもそれがオープンソースソフトウェアへ入り込むやり方は本当に嫌だ
ただ、マージリクエストでだけ開示しようという案には反対だ。誰もがマージリクエストを見るわけではないし、このコミットを信頼してよいかを判断するのに、git履歴以外の何かに依存する必要があってはならない
しかしLLM生成コードでは、その意味がよくわからない。Dependabotのようなツールがコミットに署名するのは構わない。何か問題が起きたときに修正し、再発防止するのに役立つ情報になるからだ
では「Proudly typed in nano」みたいなのはどうだろう? :D
Visual Studioが自分のコミットに「Made using Visual Studio」を付け始めたら、かなり腹が立つと思う
Sent using
Firefox 140.10.2esr (64-bit)
Debian GNU/Linux 13 (trixie) x86_64
Linux 6.12.86+deb13-amd64
Using locally sourced electricity from free range waterfalls
Method names suggested by Microsoft IntelliSense (R) and Pyright (TM)\
Grammar and spelling corrections by Apple Intelligence (R)
人々が「Nike」や「Adidas」と書かれたシャツを着るのと同じ理由かもしれない
むしろスポーツウェアを着たほうがいいのかもしれない
誰かとペアプログラミングをしていて私がコミットする場合、その人の名前はco-authored-byに入る
私は、プログラミング時のLLMの貢献はコミットで認めるに値するほど大きいと考えている。コードをコミットするのは私で、責任を負うのも私だが、そのコードの唯一の作者ではない
それなのに、「これを書くときGoogleを参照し、xcodeでタブ補完を4回押した」とコミットに書こうと急ぐ人は見たことがない
Springプロジェクトをブートストラップしたり、Goでechoやcobra CLIで何かを生成したり、Laravelのボイラープレートを作ったりできる。多くの言語にはジェネレーターがある
それでも「co-authored by X tool」を追加したりはしない
完全に同じではないのはわかるが、似てはいる。変更セットにツールのメタデータを入れているのだ。そんな必要はない。関連するビジネス概念を入れ、技術的判断についての告知を書けばよい
ツールに言及する必要はない
Webサーバーが過負荷なのか、設定ミスなのか、それとも私をボット扱いしているのかはわからないが、HTTPS接続に約30秒待たされる
むしろよいシグナルだと思う。コードにどれだけの努力、あるいは努力不足が注がれたかを見るためのよい方法だ
広告には強く反対するが、その理由は消費者向け製品を誰にも認知されたくない、使われたくないということではない
人々に消費者向け製品について正確で偏りのない情報を得てほしいからだ
コミットにこの情報を入れることが偏りを生むとは思わない。ClaudeであれCopilotであれ何であれ、そのコミットの実行に関与したというのは明白な事実であり、多くの人がその文脈でそれを知ることに合理的な関心を持つ。一方で、コミッターがEmacsを使ったかどうかは関心のない情報だ。単に理由もなく入っているわけではない
気に入らなければ、ユーザーエージェントがそれを出力しないよう設定すればよい