カテゴリー
ネットの事件

プルリクエストを巡る bot 対 bot の非生産的なやりとり

mysql/mysql-server でのプルリクエストを巡る、bot 対 bot の戦いです。

登場人物、いやbot は以下の2つ。

  • 依存ライブラリが古くなっているのを見つけてパッチを作り更新を提案する(今は)GitHub内のサービス dependabot
  • MySQL への更新提案に対してOCA(Oracle Contributor Agreement = オラクル貢献者同意書)に同意済かを確認する mysql-oca-bot

プルリクエスト上でのやりとりはこんな感じ。

dependabot: Babel (国際化に関する Python製ライブラリ)の最新バージョン 2.9.1 を確認しました。バージョン 2.8.0 から 2.9.1 への更新をコミットしました。

mysql-oca-bot: PRありがとう。OCA には同意してますか? 詳しくはこちらを読んで手続きに従ってください。MySQLバグ管理システムに登録したメールアドレスを添えてくださいね。

(ここで一か月)

mysql-oca-bot: リクエストに反応がないので、このリクエストはクローズします。

dependabot: 今回はこれ以上言わないけど、次のバージョンが出たらまた連絡します。もし次の特定のバージョンまでスキップしたい場合は以下の手順に従ってその旨通知してください。もし気が変わったらこのPRを再開してくれてもいいんですよ。

自動ボット2台だけでやりとりが完結してますね。完結といっても建設的なものではなく、何も進んでませんが。

mysql-oca-bot の方は、OCA に同意して何らかのリプライをつけることで、そのあとに別の人間のユーザーが出てきてマージするかどうかの議論を進める仕組みのようですね。OCA に同意しているかどうかを毎回提案者に聞くのが手間なので、そこを bot 化したのでしょう。

しかし、dependabot はそんな事は知らないし、追加の返答もしないから単に期限切れとなってしまう。

そもそも dependabot を動かしてるのは MySQL であり結局 Oracle なのだから、OCA も何も無いような。dependabot からのPRの場合は人間のアカウントに渡すように設定するべきじゃないのかしら。

同じリポジトリで検索してみたところ、他にも10個ぐらい同じような無為のやりとりが見つかりました。

via twitter