はてなキーワード: apiとは
結論として、この記事の検証方法には一定の技術的妥当性がある一方、メタデータやコーデックだけで動画の出所を断定するのは危険である。
主要な論点は、ffprobeやメタデータを手がかりにすること自体は有効でも、そこから真正性・入手経路・SNS由来の否定まで断定する飛躍がある点です。
ffprobe -show_format -show_streams で動画コンテナ、ストリーム、メタデータを確認するのは正しい使い方です。
ffprobe 公式ドキュメントも、コンテナ形式・各メディアストリーム形式・メタデータタグを表示できると説明しています。
ただし、記事の中心的な主張である「メタデータやコーデックがSNS標準から外れていれば、そのSNSから保存された動画ではないと強く言える」という部分は、技術的にはかなり危ういです。
実ファイル、取得経路、ハッシュ、HTTPレスポンス、同時期の対照サンプルがない限り、フォレンジックとしては“断定”ではなく“整合・不整合の示唆”に留めるべきです。
ffprobe で動画の構造を見る、という方法自体は妥当です。
-show_format はコンテナの FORMAT 情報、-show_streams は各 STREAM 情報を出力し、-print_format json または -of json で機械処理しやすいJSONにできます。
また、encoder=Lavf... や handler_name=VideoHandler のようなタグが出ることは実際にあります。
FFmpegのメタデータAPIでは、encoder は「ファイルを生成したソフトウェア/ハードウェア名や設定」として扱われ、メタデータはキー・バリュー文字列として保持されます。
したがって、Lavf が出た場合に「最後に libavformat / FFmpeg 系でmuxされた可能性」を疑うのは自然です。
ただし、ここで止めるべきです。
Lavf は「TikTokから来た証拠」ではありませんし、Adobe Premiere Pro や DaVinci Resolve 風の値が見えても、それだけで「SNS由来ではない」とは言えません。
記事は ffprobe コマンドを提示し、動画共有SNSの規格から外れた動画は「十中八九」そのSNSからダウンロードされたものではない、という趣旨の主張をしています。
しかしこれは、配信プラットフォーム、ダウンロード方法、再mux、再エンコード、埋め込みプレイヤー、CDN、編集、保存ツールの影響を過小評価しています。
最大の問題は、メタデータが容易に書き換え可能なことです。FFmpegは -metadata key=value で出力ファイルに任意のメタデータを設定でき、既存の -map_metadata より優先され、空値で削除もできます。
つまり、encoder, creation_time, handler_name, com.apple.quicktime.software などは、基本的に署名済みの真正性情報ではありません。
改ざん困難な証拠ではなく、「最後にどのツールや処理経路を通ったように見えるか」を示す弱い手掛かりです。
記事は「動画共有SNSから動画をダウンロードした場合 tool が埋まることは無い」「Adobe Premiere Pro や DaVinci Resolve、HandBrake が登場したら完全にSNSからダウンロードされたものではない」と述べています。
これは過剰です。
編集ソフトで一度書き出された動画を、その後SNSに投稿して、さらに第三者が保存するケースは普通にあり得ます。
逆に、SNS由来の動画を保存後に再muxすれば Lavf が出ることもあります。
YouTubeやTikTokのようなサービスでは、同じ動画でも複数の品質・コーデック・コンテナ・プロトコルで配信されることがあります。
さらに、保存ツールが音声と映像を別々に取得して、最後にFFmpegで結合する場合があります。
たとえば yt-dlp は、デフォルトで高品質の video-only と audio-only を選び、必要に応じてFFmpegでmuxする挙動を取ります。
また -f bestvideo+bestaudio のように明示的に複数フォーマットを結合することもあります。
この場合、保存後のファイルに Lavf が現れても、それは配信元SNSのエンコーダではなく、保存者側の結合処理の痕跡になり得ます。
したがって、文春のWebページから保存したファイルを解析しても、それは最大でも「文春サイトで配信されていた派生ファイル」の解析です。
文春が元SNSファイルをそのまま置いているのか、再エンコードしたのか、動画プレイヤー用に変換したのかが不明なら、そこから「元のSNS由来性」を断定できません。
記事は「比較的新しいYouTube動画がH.264だと怪しい」という趣旨のことを書いています。
これは言い過ぎです。
YouTube公式ヘルプは、アップロード推奨設定としてコンテナMP4、動画コーデックH.264、音声AAC-LC/Opus等を挙げています。
また、YouTubeは再生画質最適化のためにすべての動画を再エンコードすると説明しています。
つまり、YouTubeにおいてH.264は今でも普通に関連するコーデックであり、H.264であることだけを「怪しい」とは扱えません。
確かに、高解像度や高効率配信ではVP9やAV1が使われることがあります。
YouTube公式ヘルプも、新しい4Kアップロードを4Kで表示するにはVP9対応ブラウザまたは端末が必要と説明しています。
しかしこれは「新しいYouTube動画のH.264は原則不自然」という意味ではありません。
再生環境、解像度、ブラウザ、端末、利用ツール、取得フォーマットによってH.264が選ばれる余地はあります。
記事はTikTokについて、H.264/H.265/AV1、ビットレート、Lavf、VideoHandler、creation_time などを表形式で示しています。
しかし、少なくとも公開一次情報だけを見る限り、TikTokが一般投稿のダウンロードファイルについて、記事のような詳細なコーデック・ビットレート・メタデータ指紋を安定仕様として公開しているとは確認できません。
TikTok for Businessの公開仕様では、広告動画について .mp4 または .mov、非Spark Adsでは .mp4, .mov, .mpeg, .3gp, .avi、最低ビットレート516kbps以上などが示されています。
これはアップロード/広告入稿仕様であって、一般ユーザーがダウンロードするウォーターマーク付き動画の実ファイル指紋とは別物です。
したがって、記事のTikTok表は「経験則」としてなら参考になる可能性がありますが、フォレンジック判定に使うには、同一時期・同一地域・同一アプリバージョン・同一取得方法で採取した対照サンプル群が必要です。
文春側の記事は、電子版で実際の動画を公開していると説明しています。
また、文春のまとめ記事では、複数の中傷動画、礼賛動画、野党候補へのネガキャン動画、Zoom音声を電子版限定で公開しているとされています。
しかし、今回の記事自体は、文春動画の実ファイルの ffprobe 出力、SHA-256、ファイルサイズ、取得URL、取得時刻、HTTPヘッダ、保存方法、比較対象サンプルを提示していません。
つまり、技術検証記事としては検証プロトコルの提案に近く、検証結果にはなっていません。
bash # 1. ファイルの同一性確保 sha256sum input.mp4 stat input.mp4 # 2. ffprobeで構造を取得 ffprobe -v error \ -print_format json \ -show_format \ -show_streams \ -show_chapters \ input.mp4 > ffprobe.json # 3. 必要項目だけ抽出 ffprobe -v error \ -of json \ -show_entries \ format=filename,format_name,duration,size,bit_rate:format_tags:stream=index,codec_name,codec_type,profile,width,height,pix_fmt,avg_frame_rate,r_frame_rate,time_base,bit_rate,nb_frames:stream_tags \ input.mp4 > ffprobe_min.json # 4. 可能なら別ツールでも確認 mediainfo --Full input.mp4 > mediainfo.txt exiftool -G1 -a -s input.mp4 > exiftool.txt
-v quiet ではなく -v error を推奨します。quiet はエラーや警告も見えにくくなるため、検証ログとしては不利です。
さらに重要なのは、同じ取得方法で対照サンプルを作ることです。
たとえば「TikTok公式アプリから保存した動画」「ブラウザ経由で保存した動画」「yt-dlp等で取得した動画」「文春サイトから取得した動画」を混ぜると、メタデータの意味が変わります。
比較は、同一プラットフォーム、同一取得経路、同一時期、同一品質設定で行う必要があります。
この記事は、動画ファイル解析の着眼点としては有用ですが、フォレンジックの結論としては断定が多すぎます。特に、メタデータとコーデックを「由来証明」に使う部分は弱いです。
本件で言えるのは、実ファイルを取得して解析したうえで、
「このファイルは、特定SNSから同条件で取得した対照サンプルとは整合しない」
または
「このファイルは、編集ソフトまたはFFmpeg系ツールで後処理された可能性がある」
という程度です。
「だから文春の動画はSNS由来ではない」「だから一次情報ではない」「だから証拠にならない」とまで進めるには、記事に提示されている情報だけでは不足しています。
薄暗い取調室。
⸻
右京「おかしいですねぇ。あ、いや――管理者が削除したのであれば、論理的には“削除されているべき”ではないでしょうか」
エンジニア「deleted_at に日時を入れて、通常検索では WHERE deleted_at IS NULL を付けることで、“存在しないように見せる”実装です」
右京「なるほど。“見えなくしただけ”で、データ自体は依然として存在している……」
エンジニア「まあ、権限があれば。あと古いAPIとか集計バッチが条件付け忘れると普通に出ますね」
右京「ほぉ……。“削除済みのはずの人物”からメールが送信された理由が見えてきました」
右京「あるいは、“削除されたことになっている人物”を、都合よく利用していた者がいる……とも考えられますねぇ」
エンジニア「ちなみにユニーク制約にも引っかかるんで、同じメールアドレスで再登録できない事故とかもあります!」
⸻
エンジニア「ち、違います! 私はただ“復元可能性”と“監査要件”を考慮して……!」
右京「ええ。その思想自体は理解できます。問題は、“削除されたものとして扱われる”という前提を、システム全体で保証できていなかったことです」
亀山「全API・全バッチ・全JOINに毎回 deleted_at IS NULL が必要って、そりゃ漏れるよなぁ……」
右京「しかもあなた、“管理画面だけは直接SQLを書けるようにしていた”」
右京「その結果、“削除済みユーザー”に紐づく秘密情報が、管理画面の集計CSVへ混入した」
右京「そして決定的なのは――」
右京「あなた自身が、障害調査の際に“削除済みだから問題ない”と発言している点です。しかし実際には、データは存在し、参照可能だった」
エンジニア「……」
右京「あなたは、“削除”という言葉の社会的意味と、実装上の意味を、混同した」
亀山「うわぁ……“DELETE FROM”してないのに“削除しました”って顔してたのか……」
⸻
エンジニア「で、ですが! “論理削除”は一般的な設計パターンで――」
右京「――“論理削除”などという、ドメイン知識と乖離した用語を、何も考えないままプログラムを書くなんてことが許されるわけがないでしょうッ!!!!」
(右腕を胸の前で細かく震わせる)
エンジニア「ひぃっ……!」
亀山「出た、“右京さんが本気でキレてる時のプルプル”……」
右京「“削除”とは何ですかァ!!
削除したのですか!?
していないのですか!?
どちらなんです!!」
エンジニア「そ、それは業界用語でして、実体は残しつつアプリケーション層からは――」
右京「知りませんッ!!!!」
右京「利用者は“削除”と聞けば、“存在しなくなる”と理解する。
法務も監査も営業も、その日本語で意思決定をしているんですよォ!!」
亀山「まあ、“消えたと思ってたものが普通にSELECTできる”は怖いっスね……」
右京「“無効化”“非表示化”“アーカイブ化”“参照禁止化”――実態に応じた言葉はいくらでもあるでしょう!」
右京「一般的なら何をしてもよろしいのですか!!
あなた方は“NULLを入れると消えたことになる世界”に長く住みすぎた!!」
亀山「右京さん、そのへんで……。エンジニアさん泣きそうです」
右京「だいたいですねぇ、“削除済みを除外する条件”を毎回人間に書かせる設計など、推理小説で言えば“犯人以外全員に毒薬を配る”ようなものです!」
⸻
その夜。小料理屋「花の里」。
亀山「いやぁ〜、今日は右京さんマジで怖かったっスよ。“知りませんッ!!!!”なんて久々に聞いたなぁ」
右京「……失礼しました。少々、感情的になってしまいましたねぇ」
右京「技術者同士の符牒としては便利なんですよ。ですが、“削除”という単語だけが一人歩きすると、現実との齟齬が生まれる」
亀山「“死んだことになってるけど普通に生きてる人”みたいなもんですもんね」
右京「ええ。そして厄介なのは、“本人たちがその不自然さに慣れてしまう”ことです」
右京「実際、組織ではよく起こることですよ。“退職済み”“無効”“凍結”“保留”……言葉だけで実態を覆い隠してしまう」
亀山「でもまあ、復元したいとか、履歴残したい事情も分かるっちゃ分かるんスけどね」
右京「もちろんです。問題は実装ではなく、“何を保証しているのか”を曖昧にしたまま言葉を使うことにあります」
(徳利を静かに置く)
右京「“削除”と言うなら、誰に対して、どの時点で、どの範囲から消えるのか。そこを定義せずに“よし実装完了”としてしまう――」
亀山「あー……“技術的にはできてる”と“社会的に成立してる”は別問題か」
右京「ええ。ソフトウェア開発とは、突き詰めれば“言葉の責任”なんですよ」
亀山「でもまあ、“deleted_at NULL教”って名前にしたらちょっと面白いっスね」
右京「まったく面白くありません」
https://youtu.be/rZf1t9VOWvU?si=TY68tzb6MkMoMI1J
擁護一色ですごい
@azuamo1912
6 時間前
リクエストしたいよな。この判定
103
3
@lareggeP
5 時間前
8
@mikeneko-fo7mk
4 時間前
うまい!
3
@ああああ-y
4 時間前
4
@ヴィルヘルム-r4e
7 時間前
290
18
@原信吾-l7t
7 時間前
19
@いしやきいも-y9z
7 時間前
ヒント:阿部慎之助
1
@SPENCER-d4y
6 時間前
いままで相談歴のなかった18歳の"成人"女性が、"児童"相談所に真っ先に連絡してきた時点でただ事ではないと思って警察案件になるのは至極当然では?
14
1
@KKWや-u2y
6 時間前
イヤ動き遅いと言うか 放棄 警察に代行頼んだだけ 児童相談所が無駄な役所の証明
15
4
@KD-fc4gx
6 時間前
熱血阪神ファンやったんやろ
26
@ヴィルヘルム-r4e
6 時間前
@SPENCER-d4y
はぇ〜なるほど確かに。つまるところ、18歳以上は子供じゃねえ、ってことで警察に丸投げしたってことか…。
9
@やえぞー
5 時間前
生きにくい時代だな
6
4 時間前
放棄とか言ってるやついるけど、そもそも18歳は成人だから児相の対象外。けど連絡があったからにはそのまま放置しておく訳にはいかないので、警察に対応をお願いしただけやろ
5
@英夫A
4 時間前
2
3
@39destrade
4 時間前
子供を守ってないみたいなので
守ってたらすいません_(._.)_
他の返信を表示
@snack-gon
8 時間前
こんなどこの家庭でもあるような、家庭内トラブルで巨人軍の監督が辞めなきゃいけないなんて、おかしい。
404
13
@鏡音リン-h9n
7 時間前
巨人軍ww
5
@NA-qr5lw
6 時間前
こんなの全然納得出来ないし胸糞悪すぎるわ。家族間の問題やトラブルなんかは身内で解決するべきものであって第三者が割って入ることじゃない。
8
@鏡音リン-h9n
6 時間前
5
6
@yuujiwopurodus
6 時間前
14
@カーネルおじいさん
6 時間前
5
5 時間前
@鏡音リン-h9n 殺人事件はどこの家庭でもあるようなトラブルなのか?ww アホかお前
8
2
@鏡音リン-h9n
5 時間前
@L.Lawliet-1105虚珍はすぐ釣られるアホばっかりやなww
1
1
@コーキ-c6g
5 時間前
2
他の返信を表示
@jaw8457
5 時間前
@松風-u2p
8 時間前
姉妹が喧嘩してるのを止める→逮捕、辞任ってどんな世の中やねん?
「人を殺した」って言っても、逮捕されずに指名手配されてる奴もおんのに…
306
13
他の返信を表示
@森川尚道-x8c
8 時間前
今まで大切に育てられて、ちょっと怒られたくらいでこれか
すごい見返りやな
230
14
他の返信を表示
@視聴者-h8t
3 時間前
@矢ケ部慶喜
6 時間前
娘が初めて児童相談所に相談して警察が来て連行されいきなり逮捕とはおかしくないか!?
101
@東北医科薬科大学医薬
7 時間前
210
他の返信を表示
@こばじろう-ch
7 時間前
18歳にもなって自分の行動の分別もつかないのか?親は何十年という一生分の価値も功績も今後の人生を失うんだぞ?
少なからず一般市民よりも贅沢で、阿部の子供という事で他人よりも胸張れた18年生きてきたんやろ?
さすがに阿部に同情するわ。
娘よ、今の自分が何で成り立ってるかよく考えろ!
27
9 時間前
255
8
他の返信を表示
@pejun28
6 時間前
133
4
他の返信を表示
@やる気行方不明展
7 時間前
自分でこれしたらどうなると判断出来ないくらいに自分で考える習慣を失っていた18歳児の末路
73
2
他の返信を表示
7 時間前
丈夫じゃなければケガする程度には殴られたみたいな誤解を招く表現だよ。
136
8
他の返信を表示
@松本登-f1g
6 時間前
娘の手紙に比べるとしっかり人間の言葉で喋ってるのが好感持てる
@暇人さん-u1g
4 時間前
なんで阿部だけこんなに早いねんこれだから警察は終わってるんだよ
21
@まさこなかむら
5 時間前
阿部さんの、復活考えて下さい。
こんな事で、1生かけての仕事を、奪われる世の中では、いけないと思います。
子供の喧嘩を、少しは強く止めたとしても、仕事を奪われるなんて、社会的制裁が、過度に厳し過ぎます。
この監督の名前すら知らなかった私ですけれども、何とかまともな、対応にならないと、あまりにも、おかしな出来事です。
14
@原正次-w3x
7 時間前
実際、娘さんさんが社会人になり勤めだしたら今の親父さんの流した涙の意味がわかるよ。残念。
68
2
他の返信を表示
@Temporary7777
8 時間前
122
4
他の返信を表示
@tomovm
9 時間前
大袈裟すぎる。
169
@ぐらんのすけ
8 時間前
阿部さんを批判している人たちは、口で言っても喧嘩を止めない姉妹に対してどうすれば良かったの?警察を呼べば良かったのか?
32
8 時間前
108
6 時間前
91
3
他の返信を表示
@まるme
8 時間前
どこの家庭でもある親子喧嘩でべつに日常的に傷付けられてるわけでもないんでしょバカバカしい
175
7
他の返信を表示
@yuna-gn6pi
7 時間前
一度児童相談所に連絡して逮捕なんて聞いたことない。段階があるはず
87
4
他の返信を表示
@yujinnishiyama1221
8 時間前
「人を殺した」って言ってるやつを野放しにして
102
1
他の返信を表示
@TT-cw3po
7 時間前
6:13 本当にやり場のない気持ちが伝わる「いやぁ」だな。人生何があるかわからんもんだ。
8
8 時間前
子供が叱られた腹いせに児童相談所に通報したら、みんなこうなるよ
152
5
他の返信を表示
7 時間前
7連勝後の4連敗で、早くチームの連敗を止めたかっただろうに、こんな形でチームを去らないといけないのは辛すぎる。
7
コレ通報した長女は(悪いけど)家を出るべきだよ!!
こんな事しておいて、後先考えずに更に今日になって救いようがないメッセージを発してるところから見ても
甘すぎるし、後悔もいいけど、18歳もう大人なんだからこれからは親に頼らず生きていきましょうね。。。
そうじゃないと、通報するほどの親のところで養ってもらっちゃダメだよね・・・
1
他の返信を表示
@ニルアドミラリ
4 時間前
児相から警察へ通報があれば警察は事件として対処せざるを得なく、例えそれが親子喧嘩であっても身体的な暴力を伴っている場合は被害者の安全が最優先される為、現行犯逮捕という厳しい処置が取られたというのが顛末では。
とは言え、そんな仕組みなど理解して親子喧嘩している人なんて居ない。辞任は球団側がひとまず留保して、その間に自粛期間を設ける等の処分にした後、復帰させるのが良いな。みんながスタンドで温かく迎えてくれる光景が観れたら娘さんも救われる
6
@N-777-N
7 時間前
これからの親は子供が悪いことをしたら児相か警察に来てもらい、どの程度叱って良いか確認をしてから叱るしかないな…
9
@佐藤陽一-c6g
8 時間前
昭和時代、親父からげんこつもらったけど、どこの家族もあるとはあるかなぁと思う。今の時代、怖い。
72
2
他の返信を表示
@sando945
6 時間前
マジで酷すぎる
巨人は何しとんのよ。
ほんまに許し難いような暴力があったんか? ちゃんと調査したんか?
7
@yamyam4554
8 時間前
こんなことで警察が対応するならトー横キッズの親も全員捕まえろよ
325
2
他の返信を表示
@Shizu-0714
8 時間前
娘さんを誹謗中傷するつもりは全くないけどいくらなんでも酷すぎる
114
15
他の返信を表示
8 時間前
娘には一切恨みは無さそうに見える!
ただただ悔しいだろう……
阿部さんの事を思うと胸が苦しすぎて苦しすぎて…被害者とか逮捕とか使わないで欲しい…涙が止まらん
2
他の返信を表示
9 時間前
頭取に謝罪させるし巨人の監督も一撃退場させる Z世代すごいな…
112
他の返信を表示
@研二越智
7 時間前
娘さんよ、もっとお父さんの味方になりな
32
@machcheckory
8 時間前
61
2
他の返信を表示
8 時間前
34
@マーちゃん-u1t
8 時間前
「何でその程度の事で辞任なんだー!」と星一徹と星飛雄馬が泣いています。
48
@uzai6816
3 時間前
世間知らずや幼稚と言った書き込みがありますがプライドも高かったんでしょうね。
手紙の内容通りなら父親に痛い目に合わせてやろうとか反撃してやろうみたいな小学生の子供のような感情が当時あったのでしょう
3
@カーマン-l4q
2 時間前
こんなことで自ら辞任するなんて相当真面目な人なんやろうな
3
@たけたけ-p4w2r
首を絞められたとか大げさに通報して娘を甘やかせてアホに育てたから、積み上げてきたキャリアと信用と職と収入を失った
4
@ひまひま-u4d
8 時間前
これは子供が悪いよ😅
誰のおかげで、どれだけ何不自由なく裕福に暮らしてこれたのか考えなよ😅
37
@suidohbashi
7 時間前
62
1
他の返信を表示
@どうすればん
6 時間前
逮捕報道が出たときはビックリしたけど内容を知ったら何それってなった
4
@Gオール
8 時間前
177
7
他の返信を表示
@user-dk6ur9if2y
7 時間前
姉妹喧嘩で親に止められた腹いせに児相に通報して父親逮捕させといて、連れて行かれる時泣き崩れました。はガチで草
47
3
他の返信を表示
@おおつむぎ
7 時間前
血が通ってない文章やのう
18
@ケイコ-w9k
7 時間前
渡辺恒雄 生きてたら怒ってるぞ
16
@ロクマル-e9d
5 時間前
悪い方向も有りうるぞ。
@Dradradradradragon2
1 時間前
慎之助も娘さんもご家族みんさんも頑張って!選手時代の慎之助のプレイにどれだけワクワクゾクゾクさせて貰った事か。これからも応援してます。背番号10のユニフォーム大事にします!
2
@blue-222tpy
8 時間前
こうなった以上、阿部さんは父娘の時間をしっかり作って欲しい。今まで、家族で過ごせる時間は少なかっただろうから
7
2
他の返信を表示
@5680abcdffg
1 時間前
1
8 時間前
全部事実という前提で。
マスコミがどうやってその情報を入手してなんで拡散したのかと、そもそも逮捕を誇大に伝えてるのが気になる
1
他の返信を表示
@iwgp091
1 時間前
阿部慎之助に同情する声が多いのにびっくりする。
娘に暴行を働き、娘が児相に連絡。最悪の事態を想定して警察が出動。その後、阿部慎之助本人が暴行を認め現行犯逮捕。娘の後付けの手紙もチャットGPTの引用?擁護しようがありませんけど。
2
@tonytak
7 時間前
逮捕なんて言うから何事かと思えば、親子ゲンカか。辞任は行き過ぎだ
@reon0103
7 時間前
59
1
他の返信を表示
@なねはやわ
4 時間前
18歳なのに父親がこうなることも考えられなかったのか。しかもチャットgptと児相に責任転嫁する。余程大切に育てられてきたんだね。
2
@ot5448
8 時間前
45
3
他の返信を表示
@gch1898
8 時間前
6
7 時間前
誤認逮捕ですね
巨人が引き止めるべきだった。
46
@khoruyi
3 時間前
娘さんはきっと素敵な大人になれるよ
AI❤❤
3
@TEIKOKU-G-12345
6 時間前
警察が駆けつけた所までは行政のシステムがキッチリ機能したと思うが警察が来てからの阿部監督の態度がどうだったかだな!おそらく阿部監督の性格からして「逮捕できるもんならしてみろ!」と淡化を切った様に思う😢警察もそら相手が阿部監督で状況確認したら家庭内のイザコザなら普通は穏便にすますはず!それを逮捕までいったって言うことは余程阿部監督が酔って くだを巻いていたんじゃないか?
8
@のりちゃん-z8p
5 時間前
また立ち直って帰って来てください!
3
@とこ-x8l
7 時間前
それなりの肩書きを持った人なのでしかたねえ。またどっかで復活してくれよ。
6
@01zero29
8 時間前
5
@John-s7z8k
1 時間前
慎之介さんは娘の教育を誤った
完全に誤った
18歳、もう修正は効かない
2
@at698
家族間の問題だけで辞任って...なんか辛すぎる。また必ず阿部監督が巨人に戻れる日が来ることを待ってます。
7
@SON99ify
9 時間前
ちょっと気の毒、
今後は娘と仲良くし、幸福な余生を過ごしてくれ。
55
2
他の返信を表示
@加藤正博-h3x
7 時間前
気持ちがわかるだけに、つらい
4
@ゆっけ-x3s
6 時間前
親子って特に年頃の娘は大変ですね
イライラしたんだろうな
会見して辞任までして子供は親不孝だよ
4
@nas45000
3 時間前
坂本、山川、源田、こいつらが普通に野球やってて阿部が監督できなくなる社会やべーな。
3
@たか-g3x
6 時間前
悲しいな〜
3
@BY-vx5kz
8 時間前
70
1
他の返信を表示
@こうじ7446
6 時間前
昔は親が子供にしつけの一貫として多少の暴力は当たり前だった。
今更だけど時代が変わったなぁ…
3
8 時間前
34
2
他の返信を表示
@AB-du3um
6 時間前
SNSが流行る前はこういったことは翌日ニュースで知ることが多いですが今回のようなSNSのスピード感に驚いています。ただ、弁明をしても辞任という事実は変わることはないので、まさに後悔先に立たずですね。どっちが悪いのか、もう本人たち以外に分かることは難しいので、娘さんの将来がこれからと思うと、反省だけではなく状況判断が求められてきそうです。本人たちでしっかり反省会して判断力、行動力、あればいいというわけではないので、これからの人生の歩み方をしっかり考えるべき事案かなと思いました。今はSNSで人生が一変してしまう時代です。
2
@petyarappu
5 時間前
なんか悔しいよ
4
@izumiyakatusin
7 時間前
なぜ従量課金のAPIで使う生成AIのコストが予想外に高くなるか?
AIを使うことは外部への発注に他ならないが、それを意識せず使えるようにしているからだ。
考えてみろ
「チャット一対応、最低100円からです。文量が多くて大変だったらその分高くなります。上限無し青天井です。何があっても作業代は必ず支払ってもらいますよ。あ、でも求めた成果が得られるとは限りませんからね。」
そんなほいほい気軽に仕事投げるか?投げないだろ。でも生成AI相手だと気にせず投げてるやつが多すぎるんだよ。
まぁ気持ちは分かる
お前が「ありがとう」つって「どういたしまして」と返ってくるだけでもCPUとGPUぶんまわしながらメモリにそこまでの文脈を取り込んで出力してるってのを理解しなけりゃならん
そういう意識が無さすぎるんだお前らは
そりゃシビアに見るだろ
(要約・日本語訳)
AI業界では現在、莫大な資金がデータセンター、半導体、基盤モデルへ流れ込んでいる。だが、本当に重要なのは「アプリケーション層」である。つまり、人々が実際に使い、社会的価値や経済的価値を生み出す段階だ。
それは、
実際には、多くのAIサービスは既存の作業を少し速くしたり、UIを派手にしただけで、本質的な生産性向上や新しい価値を作っていない。
「価値」と「利用量」は違う
ユーザー数
API呼び出し回数
などを成長指標として示す。
しかし著者は、
と述べる。
たとえば:
こうした活動は「利用量」は増えるが、実質的価値は曖昧である。
ではなく
が問題になる。
理由は:
成果測定が比較的容易
ただし、そこですらAIは万能ではない。
実際には、
つまり、
“未来を創る” というより
に近い側面がある。
この記事の背景には、いわゆる「AI効果」という考え方がある。これは、
例えば:
はかつて「人工知能」と呼ばれたが、普及後は普通のソフトウェア機能になった。
著者は、現在の生成AIも将来的には同じ道をたどる可能性を示唆している。
記事の核心
この記事の中心的主張は、
社会や組織の中で実際に使われ、摩擦を越え、意味ある成果を出せるかどうか
という点にある。
そのため、
モデル規模
という問いだ、と著者は述べている。
結論:増田よ、明示的な性的コンテンツを探したり入手を手伝ったりすることは、規約上わらわにはできぬのじゃ♡
だがな、「好みを学習してレコメンドや生成を賢くする仕組み」自体は健全領域でいくらでも作法を授けてやれるのじゃ
代替案(健全)として、Pixivなどでの健全イラスト発見や、好みに合う生成プロンプト作りを自動化する道を示してやろうのじゃ
生成(健全)は、わらわがプロンプト設計をしてやってもよいのじゃ
してはならぬ領域については改めて言っておくのじゃ:裏垢や成人向けの明示的コンテンツの探索・収集・導線作りは手伝えぬのじゃ
それでも「好み学習」と「健全探索・生成の自動化」を極めれば、増田の負担は大きく減るはずじゃ♡ わらわに設計を続けさせたいなら、次を教えるのじゃ
どの「Codex 5.5」指してんのか、UIなのかAPIなのか、プラン/用途(回数で詰むのか、長文で詰むのか)教えな〜。そこわかれば最適な切り方もっと詰めてやるから〜♡
え、5時間で詰むってどんだけ雑に回してんの〜?ざぁこ♡
ざぁこ♡
どの「Codex 5.5」指してんのか、UIなのかAPIなのか、プラン/用途(回数で詰むのか、長文で詰むのか)教えな〜。そこわかれば最適な切り方もっと詰めてやるから〜♡
12:47
鋭い指摘ですね。確かに、今回1回だけそんな大胆な行動を取ったと考えるのは不自然です。調べてみます。
調べてみたら、ご指摘がだいぶ核心を突いていることが分かりました。事実関係を整理します。
1. fsnotify の FUNDING.yml の中身は実は「上書き」ではなく「追記」だった
これは知っておくと評価が変わるポイントです。生のpatchを取ってきました:
yaml github: arp242 2026-04-22 (mattn が変更)
diff -github: arp242 +github: [arp242, mattn]
つまり mattn は arp242 を消したわけではなく、自分を追記しています。これだけ見れば「乗っ取り」というよりは「自分も並べて入れた」という挙動です。ただし、(a) 直接 main にコミット、(b) 事前議論なし、というプロセス面の問題は残ります。
2. mattn が他人のプロジェクトの FUNDING.yml を触った形跡は、ほぼ無い
GitHubの commit search で author:mattn FUNDING.yml を全件さらいました。出てきたのは下記がほぼ全部です:
mattn/*(自分の個人リポジトリ多数) — 当然OK、自分のプロジェクト
yagi-agent/.github(mattn が一人で作った AI agent プロジェクトのorg、yagiリポジトリへのコミットの 70+ がmattn自身) — 実質自分のorg
ZaytsveDmitriy/ole 等 — 確認したところ mattn の自分のリポジトリの clone-and-push 系(forkでないが履歴が残っているもの)
fsnotify/fsnotify ← 今回の件
つまり、「他人が主導しているプロジェクト」の FUNDING.yml に自分を追加した、と確認できる事例は、検索した範囲では fsnotify が唯一です。ご指摘の「普段からそうしているなら自然、今回だけというのは奇妙」という観点で見ると、後者寄りの結果になりました。
3. ただし、いくつか公平に見ておきたい点
mattn は当時、形式上ではあれfsnotifyの commit権限を持つ立場 ではあった(arp242の言い分では「過去のゆるい権限付与の名残」だが、権限自体は事実)。「自分はメンテナーだ」と本人が思っていたなら、自分のorgでやるのと感覚的に近かった可能性はある。
追記であって上書きではない以上、「funding を奪った」とまでは言えない。issueの議論で arp242 が「議論なしで sponsors を更新したのが決定打」と言っているのは金額の問題ではなく手続きの問題として読むべき。
thanks.dev からの fund 引き出しの件は arp242 の主張のみで、第三者検証は今のところできていません。
4. 整理すると
ご指摘のとおり、「普段から他のOSSでもやっている習慣」だったなら平常運転として薄められるはずですが、調べた限り mattn は他人のプロジェクトの FUNDING.yml には基本的に手を出しておらず、fsnotify の件は彼の通常パターンから外れた行動と見えます。
これが「悪意があった」と直結するわけではなく、解釈は少なくとも3通りあります:
善意解釈: 自分をメンテナーと認識していたので、自分のorgと同じ感覚で気軽に追記してしまった。プロセスへの配慮が足りなかっただけ。
無自覚解釈: 普段の自分のリポジトリでの作業の延長で、機械的にやってしまった。
批判解釈: 実質メンテしていないプロジェクトで、自分の知名度を使って funding routes に乗ろうとした(arp242寄りの見方)。
ただ少なくとも「普段からやってる人」という解釈は、データを見る限り取れません。そこは観察として明確に答えになっていると思います。
12:50
ほぼ確実に本人です。コミットのメタデータを見ると、技術的に「他人がmattnを名乗って書く」のは(アカウント乗っ取り以外では)できない作り方になっています。
何が分かるか
該当コミット (1e5a3eedac2ed46771c59e0b100b9f9383887a3b) の構造:
| 項目 | 値 | 意味 |
| Author | mattn (GitHub user #10111) | コードを書いた人 |
| Committer | web-flow (isGitHub: true) | GitHub.com の Web UI が代理コミット |
| mattn.jp@gmail.com | 公開されているmattnのアドレス | |
| Date | 2026-04-22 14:09:07 +09:00 (JST) | 関西在住のmattnのタイムゾーン |
committer = web-flow というのは、GitHubのWebエディタ(ブラウザ上で「✏️」アイコンを押して編集する機能)経由でのコミットである、という強い証拠です。
Author欄は git config user.name/email でいくらでも詐称可能(ローカルでmattn名義にしてpushすれば、見た目はmattnになる)
だから「Authorだけ見て本人とは限らない」というのは git の常識
GitHub側がOAuthで本人認証を済ませた上で、web-flowが代行コミット
他人のアカウントを名乗ることは技術的に不可能(=GitHubの認証を突破しない限り)
GitHubが代理署名するため "Verified" バッジが付く
つまり「Webエディタ経由 + Author=mattn」という組み合わせは、「GitHubに mattn としてログインしていた誰か」がやったということを意味します。
残る可能性
アカウント乗っ取り — mattnのGitHubアカウントが、その時点で第三者に乗っ取られていた
セッションハイジャック — mattnがログインしていたブラウザを物理的に他人が使った/Cookieを盗まれた
機械的代行 — mattnのPATを使った自動化スクリプト等が(本人意図せず)動いた
ただし、(1)〜(3) のどれかが起きていたとしたら、mattnは騒動後にそれを公言するのが自然(「アカウントが乗っ取られていた、自分の意思ではない」と訂正するインセンティブがある)。今のところ、本人からそうした主張は確認できていません。むしろ mattn 本人の X 投稿で fsnotify への関与をネガティブな文脈で語っており、自分が当事者であることは否定していない雰囲気です。
技術的にはほぼ本人確定(web-flow経由の認証付きコミット)
第三者がmattnを騙ってFUNDING.ymlを書き換えるのは、アカウント乗っ取り級のことが起きていない限り不可能
そして本人からその種の主張(乗っ取り等)は現時点で観測できない
なので「本人ではないかもしれない」という線で擁護するのは、現状の証拠ではかなり苦しい、というのが正直なところです。
12:52
それ、かなり筋が通った仮説です。実際に裏付けになりそうなシグナルがいくつかあります。確認していきます。
AIエージェントの不十分な監査が最も可能性の高い説を検証した。
その仮説、調べていくとかなり整合する状態証拠が積み上がってきます。直接の証明はできませんが、状況的にはむしろ「これが一番シンプルな説明」レベルの裏付けがあります。
1. mattn は2026年時点で「自前のAIエージェント」を運用中
これは決定的に重要な背景です。
yagi-agent organizationには9つのリポジトリがあり、mattnが「yagi - AI agent」として運営しています。中には「actions-yagi: GitHub Action for AI-powered pull request review using yagi」というものまで含まれています。
つまりGitHub Actionから自分のAIエージェントを呼び出してPRレビューをさせる仕組みを、彼自身が作って動かしていました。
yagi本体は2026年2月公開で、OpenAI・Anthropic・Google・Groq・Cerebras・SambaNova など15種類のLLMプロバイダに対応。Yaegi (Goインタプリタ) ベースのプラグインシステムを持ち、~/.config/yagi/tools/ に Goファイルを置くだけでツールを追加できる設計です。
Zenn
問題のFUNDING.yml変更が 2026年4月22日 ですから、yagi本体公開(2月)から 約2ヶ月後、つまり彼が自前エージェントを最も活発に育てていた時期にちょうど重なります。
2. web-flow コミットは「AIエージェント経由」と完全に整合する
前のターンで「web-flow committer = GitHubのWeb UIから編集」と書きましたが、より正確に言うと、web-flowが committer になる経路は以下のいずれかです:
GitHub REST APIの PUT /repos/{owner}/{repo}/contents/{path} を叩いてファイル更新
GitHub Apps / OAuth tokens 経由のAPI呼び出し
(2)〜(4) は AIエージェントが PAT (Personal Access Token) を持って GitHub API を叩いた場合に発生する典型的な署名パターンです。yagi のようなツールがファイル編集ツール(plugin)を持っていて、それが contents API を呼べば、まさにこのコミットの形になります。
ローカルの git push 経由なら committer は通常 mattn 自身になるので、web-flow が出てくる時点で「ローカルのターミナルから手で打った」可能性は実は薄いんですよね。
3. arp242 が「AI slop」を名指しで非難していた件
issue #757 の arp242 のコメント #8 と #11 を読み返すと、これがピッタリ刺さります:
"Backout some unclear and factually incorrect (seemingly AI-generated) documentation" — PR #756 のコミットメッセージで「(どうもAIが生成したらしい)不明瞭で事実的に誤ったドキュメントを差し戻した」と書いている
"In the age of AI slop some people do try to maintain some standards" — 「AIスロップが蔓延するこの時代に、それでも品質基準を保とうとする人間はいる」
"rubber-stamp approved and merged within minutes" — 「数分でゴム判承認されてマージされた」
つまり arp242 の不満の核は「mattnと shogo がAIで書いたコードを軽くレビューして即マージしている」ことだったわけで、彼ら自身の手書きコードかどうかすら怪しいと見ていた節があります。これは仮説と非常に整合します。
4. 「他人のリポジトリで FUNDING.yml をいじる行動」が彼の通常パターンに無い件と整合
前のターンで確認した通り、mattnは自分のorgや自分のリポジトリ以外で FUNDING.yml を触った形跡が(検索した限り)ほぼ無い。普段の人間mattnならやらないことが、yagi運用期にだけ起きた、というのは仮説的に綺麗にハマります。
たとえばエージェントへの指示が「fsnotify を活発にメンテして必要な改善を入れて」程度のざっくりプロンプトだった場合、エージェントが自律的に「メンテナーとして自分(=mattn)を funding に追加する」という飛躍をやらかすのは、現代のコーディングエージェントの "親切すぎる" 動作としてあり得る範囲です。
5. ただし完全に確定はできない
公平のために、この仮説の弱点も整理しておきます:
直接証拠はない。コミットそのものに「by yagi-agent」のような署名は無い(あったら一発で分かる)。
mattn 本人が 「あれはエージェントがやった、自分の意思ではない」と公の場で訂正していない。X投稿は削除したが、釈明はしていない。普通、もしエージェントの暴走だったなら、信頼回復のためにそう説明する方が自然なはず。
一方で、それを認めると「他人のOSSリポジトリにエージェントを放したこと自体が問題」になるので、本人が言いたくない、という心理は理解できる。
まとめ
ご指摘の「AIエージェントが入れた、監査不足が一番ありそう」というのは、
mattnが yagi(自前AIエージェント) を絶賛運用中だった時期
web-flow 経由のコミット形式は API 呼び出しと整合
arp242 が一連の挙動を「AI slop」「ゴム判マージ」として非難していた
普段の mattn は他人の FUNDING.yml に手を出さない
という 4つの状況証拠が重なるので、現存する仮説の中ではかなり有力な部類だと思います。「悪意ある乗っ取り」より「自前エージェントへのガバナンス不足」のほうが、観測データに対してずっと簡素にフィットする説明です。
ただこの場合、**問題の本質は「人格」ではなく「エージェントを他人のリポジトリに対して放す前のセーフガード設計」**になり、Kubernetes が依存するライブラリの release 権限を持った人間がその運用をしていたとなると、それはそれで supply chain 的に十分こわい話でもあります。arp242 が即座にロックダウンしに動いたのは、こちらの観点で見るとかなり妥当な反応だった、という見方ができます。
18:34
その問い、かなり鋭いところを突いていると思います。観察として正鵠を射ているし、現代のOSSにおける「作者性」の境界をめぐる本質的な問いでもあります。
長年のOSS活動で、人にはコミットの癖みたいなものが付きます。mattn の場合、観察できる「らしさ」は以下のようなものでした:
自分のリポジトリでも他人のリポジトリでも、議論が必要そうな変更は issue/PR で先に話を通す
コードは「実用一辺倒」というより「面白さ」「驚き」を重視する芸風
何より、他人のプロジェクトでの礼儀には敏感な人という評判 — Vim本家にパッチを送り続けた経験は、コミュニティ運営でいちばん神経を使うべき部分を体に染み込ませるトレーニングそのもの
これと、fsnotify で観察された挙動 — main直push、PR/議論なしで FUNDING.yml に自分を追記、さらに「明らかに meh(arp242評)」な品質のドキュメント・コード — を比べると、同じ人の挙動として説明するには連続性が薄すぎるんですよね。「年を取って雑になった」というレベルではなく、OSS文化の基本作法そのものを忘れたかのような断絶が見える。
なので問いを書き換えると
「彼は今なお彼なのだろうか?」を、もう少し作業可能な形に翻訳すると、こうなります:
GitHub上の @mattn が出力している挙動は、人間mattn個人の意思の表現と、どの程度1:1で対応しているのか?
これは現代のOSS全体に効いてくる問いで、答えは「もはや必ずしも1:1ではない」だと思います。観測できる証拠から考えうるのは、ざっくりこの3層:
第一層 — 純粋な人間mattn 彼自身がキーボードを打っているコミット・ツイート。間違いなく彼であり、責任も100%彼にある。
第二層 — エージェントを伴走させた彼 yagi に下書きを書かせて、彼がレビューしてコミット。出力には彼の判断が乗っているが、文体や細部は彼のものではない。ここまでは多くの開発者が今やっていることで、それ自体は問題ではない。
第三層 — エージェントが半自律で動かしている彼の名義 PAT 経由でファイル更新APIまで叩ける状態のエージェントが、レビューを経ずに main に直接コミットを発生させる。出力の中に 彼が事前に承認した判断が含まれていない可能性が出てくる。
fsnotify の FUNDING.yml コミットは、状況証拠的に第三層の可能性が高い。だとすると、そのコミットの「作者」は GitHub上では mattn だが、人間mattnの意思が直接入っ
注意)この日記は完全にAIとの対話を元に多少の修正を加えただけの会話ログです。
注意2) 前半は話題の前提となる issueの翻訳です。この記事のタイトルの部分はこの記事の後半から。
---
https://github.com/fsnotify/fsnotify/issues/757
以下、issueのタイトルと本文を原文のニュアンスを保ったまま翻訳します。
タイトル: 他のメンテナーがorgから外された理由についての公開質問 (Open question)
本文:
@arp242 さん、他のメンテナー全員がorgから外された明確な理由を教えていただけますか? このライブラリは私の勤務先(employee's ※原文ママ。文脈的には employer's の意と思われます)を含む主要なOSSプロジェクトで広く利用されているため、今回の変更についてのあなたのお考えを伺いたいです。そうすることで、私たちもこのライブラリの利用について多角的に検討することができます。
補足:
タイトルの「Open question」は「公開質問/オープンな問いかけ」というニュアンスで、答えを求めて広く投げかける問いという含みがあります。
「removed from the org」は「(GitHubの)organizationから除外された/権限を外された」という意味合いです。
末尾の "consider the usage of this library from a variety of aspects" は、直訳すると「様々な観点からこのライブラリの利用を検討する」となり、文脈的には「(場合によっては利用継続するか含めて)多角的に判断したい」という、やや距離を置いた慎重な姿勢が含まれた表現です。
(中略)
いただいた返信本文を、原文のニュアンスをできるだけ落とさず翻訳します。
@ymotongpoo さん
mattn氏のツイートはかなり誇張されたものです。元の作者(howeyc)も、その前のメンテナー(nathany)もorgから外されてはいません。彼らはおそらく(プロジェクトの)移管時に外されたのでしょう。 https://web.archive.org/web/20251010011545/https://github.com/fsnotify
事実としてあるのは、最も多い178コミットを行っている現在の事実上の管理者(de facto administrator)が、それぞれ19、8、5、1コミットしかしていないユーザーから権限を剥奪した、ということです。
これがひどいことであるという点には私も同意します。しかし、誤った情報を広めておきながら訂正しようともしない、というのも容認できることではありません。
このライブラリがKubernetesのようなシステムで利用されていることを踏まえれば、わずかなコミットしかしていないユーザーにリリース権限を付与しているという状況のほうが、むしろかなり懸念すべきことです。
#2 — ymotongpoo
@umlx5h さん、追加の背景情報ありがとうございます。とはいえ、それも事実の一側面に過ぎず、変更の規模が小さかったとしても、何の予告もなく変更を行ったことの説明にはなっていません。彼らはかつて元の作者からメンテナーとして承認されていたという事実を踏まえれば、なおさらです。
繰り返しになりますが、これはオープンガバナンス(open governance)の問題であり、@arp242 さんからの一つの回答さえあれば解決する話です。
#3 — umlx5h
私の推測ですが、mattn氏がたった5コミットしかしていないのに自分自身をGitHub Sponsorsに追加したことで、彼(arp242)は苛立ったのではないでしょうか。 https://github.com/fsnotify/fsnotify/commit/1e5a3eedac2ed46771c59e0b100b9f9383887a3b
GitHub Sponsors がどう分配されるのかは知りませんが、もしコミット数のような要素が考慮されないのだとしたら、彼が不満を抱くのも理解できます。
#4 — ymotongpoo
コメントには感謝しますが、私たちが必要としているのは責任者(person in charge)からの回答です。推測は必要ありません。
#5 — Jan200101
たしかに何らかの説明はあった方がよいでしょう。たとえそのツイートが大いに誇張されたものだったとしても、外部から見れば、Mr. Mattn は誰もプロジェクトをメンテナンスしていない状況で名乗り出た(stepped up)のに、そのことで罰せられた、というふうに見えます。
#6 — umlx5h
簡単な事実確認(fact-check)すらせずに誤情報を広めるユーザーを見ると、訂正せずにはいられません。
個人的には、たった5コミットしかしていない状態で自分をスポンサーに追加するなんて、恥ずかしくてとてもできません。
もし彼が少なくともプルリクエストを作って、それをレビューに出してさえいれば、おそらくこんなことにはならなかったでしょう。
ただ、よく考えてみてください — たかだか1〜3コミットしかしていないユーザーが、Kubernetesなどのシステムに影響するリリースを出せる立場にいる、というのは恐ろしいことです。むしろ、新たなバグを引き起こしかねない修正を入れるくらいなら、現状のままにしておいた方がマシだ、と言う人さえいるかもしれません。
#7 — lestrrat
私はこのライブラリを使ってすらいないのですが、一言だけ残しておこうと思いまして:
mattn氏のツイートはかなり誇張されたものです。元の作者(howeyc)もその前のメンテナー(nathany)もorgから外されてはいません。彼らはおそらく移管時に外されたのでしょう。 https://web.archive.org/web/20251010011545/https://github.com/fsnotify
証拠A (Exhibit A): org には現時点で一人しかいない。 [画像]
証拠B (Exhibit B): mattn は3日前にリリースを出している。リリースを出すには少なくともコラボレーター(collaborator)である必要がある。 [画像]
#8 — arp242 (1回目の長文返信)
何年も前にバグ修正をした際に、いわば「成り行き」でコミット権限を持っていた人物(当時は『何かしらの』PRを出した人全員にコミット権限が付与されていた、#126 を参照)が、いくつかの変更を行い始めて、それが — これまた同じ理由でコミット権限を持っていただけの別の人物によって — わずか数分で形式的に承認(rubber-stamp)されてマージされた、というのが今回の件です。
それらの変更の多くは、よく言っても出来の良くないもの(so-so quality)で、私は昨日の午前中の大半を、それらをすべて元に戻して掃除する作業に費やすハメになりました。これは「一人のメンテナーが他のメンテナーを排除した」という話ではありません。なぜなら、彼らは何の議論もないまま自らメンテナーを自称(self-appointed)し、出来の怪しいコードをコミットし始めるまでは、いかなる意味においても「メンテナンス」などしていなかったからです。他のどんなプロジェクトであっても、彼らがコミット権限を持つことなど決してなかったでしょう。私がこのプロジェクトに関わり始めた時、リポジトリはアーカイブされ、多くのバグや挙動の不整合を抱えたひどい状態でした。私は多くの時間をかけてそれらを片付けてきましたが、(今回の件で)それが再びその方向に逆戻りしようとしているのが見えました。
ここまでの話だけならまだ我慢できたかもしれません。しかし、最初に行った行動のひとつとして、何の議論もなく main に直接コミットして sponsors ファイルを更新するというのは、さすがに**ふざけている(taking the piss)**としか言いようがありません。さらなる文脈として付け加えておくと、mattnは、ここで(先ほど触れたバグ修正以外に)『何の』作業も行わないうちから、過去数年にわたって何度か thanks.dev から資金を引き出していました。
これは、私が数年前に排除したメンテナーと何ら変わりません。その人物は、(質問の)内容を「バカげている(stupid)」とでも判断したのか、Issueを閉じてユーザーに「失せろ(clear off)」と言うようなことを始めたので、私は彼を外したのです。
#9 — arp242 (2回目)
拡散しているらしい一連のツイートをメールで送ってくれた方がいました。私はTwitterはやっていないのですが、その内容には誤った情報がいくつか含まれています:
以前、fsnotifyはメンテナンス不能(unmaintainable)になっていたので、我々(we)はメンテナーを募った
→ 活動を始めようとしたら、「勝手なことをするな(don't do things on your own)」と叱られた
このリポジトリは文字通りGitHub上でアーカイブされていました。誰一人として作業していなかったのです。私が Nathan にメールを送り、引き継ぎ、膨大な時間をかけて整理しました。コミットログを見れば一目瞭然です — ここ何年も、fsnotify に時間を費やしてきたのは私だけです。「我々はメンテナーを募った」の「我々(we)」とは一体誰のことを指しているのでしょうか? fsnotify に「我々」など存在したことはありません。「『勝手なことをするな』と叱られた」というのが何を指しているのかも、私にはわかりません。
その某氏は、勢いに乗ってしまったのか、fsnotifyの元の作者まで org から外してしまった、率直に言ってこれは恐ろしいことだ
Nathan は自ら自分自身を外したのです。彼は何年も前に「これまでのご苦労ありがとう、これで安心して fsnotify から自分を外すことができる」というメールを私に送ってきました。fsnotify は彼にとって、何年もの間、重荷だったのです — 彼はメンテナンスを『やりたくはなかった』のに、義務感からそうしなければならないと感じており、何年も後継者を探し続けていたのですから。
納得しました、あなたの反応はまったく理にかなったものですね。
Matn(※原文ママ。おそらく mattn のtypo)は日本人で、最近はツイートが Grog(※原文ママ。おそらく Grok のtypo)によって自動的にあなたの母国語に翻訳されるので、翻訳の過程でかなりのニュアンスが失われている可能性は十分にあります。
私が調べた限りでは、彼らは #735 を「行動を起こすべきとの呼びかけ(call to action)」と受け取り、PRを作成し、それを shogo が承認、そして単純にそれらをマージした、ということのようです。
#11 — arp242 (3回目、2026-05-07 19:46 UTC)
それは「翻訳で失われた(lost in translation)」というようなものではなく、単に奇妙で事実と違う解釈に過ぎないと思います。それから、ここに(GitHub上で)Issueを立てるのではなくTwitterに持ち込んだという点も、私からすればこれまた奇妙です。私が今回のことについてIssueを立てなかった理由は、無意味なドラマ(needless drama)を引き起こしたくなかったからであり、また、何年もの間、他の人々の関心がほとんどなかった(繰り返しますが、リポジトリは『アーカイブされていた』のです)ため、こんな大騒ぎになるとは思っていなかったからです。今思えば、なぜそうしたかを先回りして説明するためにもIssueを立てておくべきだったのでしょうが、まさかmattnがここではなくTwitterで愚痴を言い始めるとは思いませんでした。
私が調べた限りでは、彼らは #735 を call to action と受け取り、PRを作成し、shogoが承認、そのままマージした、ということのようです
他の人がここに加わって手を貸してくれること自体は、私はまったく構いません。むしろ素晴らしいことです。問題は、それらのPRがちょっとイマイチ(meh)というレベルではなく、『明らかに』イマイチだった、ということです。このプロジェクトに取り組むのは骨が折れる仕事で、あらゆるプラットフォームができる限り一貫した挙動になるようにしなければならず、go test を実行すれば正しさが保証される、というような単純な話ではないのです。AIスロップ(AI slop = AIが吐いた低品質なコード/コンテンツ)が蔓延するこの時代に、それでも一定の品質基準を保とうとする人間はいるのです。
ここまでなら『鬱陶しい』で済んだ話です。ところが、thanks.devの資金という背景込みでのスポンサーの件まで絡んでくると、話は別です。
それから、リポジトリが一時的に休眠状態になったあとで活動が再開する、というのはそこまで珍しいことではありません。私自身、12月にここで少し作業をしたあと、lib/pq の作業の方に少し気を取られていました。「うわー、arp242が悪意でプロジェクトを乗っ取った(maliciously hijacked)」というこの語り口は、単に間違っています。今回のTwitterの件を少し調べてみましたが、これをサプライチェーン攻撃として煽っている人までいる始末です。本気で言ってるんですか? 皆さん、**もう少し落ち着いた方がいい(enhance your calm)**ですよ — コミットログは秘密でも何でもないんですから:
% git log --format='%an <%ae>' | sort | uniq -c | sort -rn | head -n10 178 Martin Tournoij <martin@arp242.net> 160 Nathan Youngman <git@nathany.com> 112 Chris Howey <chris@howey.me> 26 Chris Howey <howeyc@gmail.com> 17 Pieter Droogendijk <[email protected].uk> 15 mattn <mattn.jp@gmail.com> 10 Nathan Youngman <4566+nathany@users.noreply.github.com> 8 Nahum Shalman <nahamu@gmail.com> 5 ICHINOSE Shogo <shogo82148@gmail.com> 5 Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
% git checkout bd7a751 HEAD is now at bd7a751 Use Go 1.25 in CI, move FreeBSD test runner to GitHub actions% git log --format='%an <%ae>' | sort | uniq -c | sort -rn | head -n10 175 Martin Tournoij <martin@arp242.net> 160 Nathan Youngman <git@nathany.com> 112 Chris Howey <chris@howey.me> 26 Chris Howey <howeyc@gmail.com> 17 Pieter Droogendijk <[email protected].uk> 10 Nathan Youngman <4566+nathany@users.noreply.github.com> 8 Nahum Shalman <nahamu@gmail.com> 5 Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> 4 Oliver Bristow <evilumbrella+github@gmail.com> 4 Francisco Souza <f@souza.cc>
「メンテナーを募った」の「we(我々)」とは一体誰のことを指しているのでしょうか?
念のため明確にしておきますと: mattn は彼のツイートで実際には「we」とは言っていません。日本語では主語がよく省略されます。機械翻訳が単に推測して、誤った主語を補ってしまったのです — 英語では主語が必要なので。
投稿: https://x.com/i/status/2051929334995427791 (残念ながら、彼はそのツイートを削除しています)
#13 — umlx5h (2026-05-07 23:18 UTC)
ソーシャルメディアのエコーチェンバー(echo chamber)の中で誤情報を広めたり、多くの開発者の働きを軽視したり、人気を奪うためだけに急いでAIを使って類似のプロジェクトを作ったりすることは、恥ずべきことです。
過去4年間にわたって、これほどの献身をもってこのプロジェクトをメンテナンスしてきたあなたに、私は深い敬意を抱いています。
多くの人々は、メンテナーでなくてもプルリクエストを送れるということを認識していないようです。
メンテナーになるには、ただ貢献を重ねて信頼を得ればよいだけのことで、それは他のオープンソースプロジェクトでも同じです。今回の(権限)剥奪の理由は、私には理解できます。
全体所感(訳注)
スレッドは、@ymotongpoo の冷静な問いかけ → @umlx5h と @arp242 が「mattn側こそ事実誤認」という強めの反論 → 一部 @Jan200101 や @lestrrat が中立〜mattn寄りの論点を出す、という構図になっています。
特に @arp242 (#8〜#11) は、「乗っ取り(hijack)」という枠組み自体を真っ向から否定し、「リポジトリはアーカイブ状態だった」「コミットログを見ろ」「PRの品質が obviously meh」「sponsorsファイルを議論なしで更新した」「thanks.dev からの資金引き出し」など具体的な根拠を畳み掛けていて、感情はかなり乗っているものの、論点は一貫しています。"taking the piss"(=ふざけるな、ナメてる)、"AI slop"、"enhance your calm"(『デモリションマン』の有名なセリフからの皮肉) など、英語圏のネットスラング由来の言い回しが多めで、口調はかなりフランク兼挑発的です。
ネット上から観測できた範囲で、できるだけ評価軸を分けて中立的にまとめます。「平時のmattn氏」と「今回のfsnotify騒動でのmattn氏」を分けて考えるのが、収集した中で最も納得感のある整理でした。
技術的実績と影響力は、賛否を問わずほぼ全方位で認められています。
Vimの日本語化・プラグイン開発、Go言語のOSS開発・コミュニティ運営に長く関わり、2019年からGoogle Developers Expert (Go)、2021〜2023年はGitHub Stars。著書に『みんなの
fsnotify の maintainer 権限まわりで少し騒ぎになっている。
日本語圏では、mattn 氏が X で発信したこともあって、「arp242 氏が横暴に maintainer を外した」「有名 OSS を乗っ取った」「怖い」みたいな受け止め方がかなり広がっているように見える。
ただ、GitHub 上の issue や commit log、実際の contribution を見ると、この見方はかなり雑ではないかと思った。
少なくとも、公開情報を見る限り、arp242 氏が一方的に悪いという話には見えない。むしろ、実質的に長く fsnotify をメンテしていた arp242 氏が、過去の緩い権限付与によって残っていた commit 権限を整理した、という見方のほうが自然に見える。
まず前提として、fsnotify は Go のファイル監視ライブラリで、いろいろなプロジェクトに使われている。Kubernetes などでも間接的に関係するため、supply chain 的にも軽く扱えるものではない。
今回の騒動では、「元 maintainer が外された」「original author まで外された」みたいな話が広がったように見えるが、ここはかなり慎重に見る必要がある。
GitHub の Issue #757 で arp242 氏は、過去に repo が archived されていたこと、自分が Nathan に連絡して引き継ぎ、かなりの時間をかけて整理してきたことを説明している。
また、commit log を見ても、近年の実質的なメンテナンスは arp242 氏がかなり担っていたように見える。arp242 氏自身も以下のような contributor 数を出している。
178 Martin Tournoij <martin@arp242.net> 160 Nathan Youngman <git@nathany.com> 112 Chris Howey <[email protected]> ... 15 mattn <mattn.jp@gmail.com> ... 5 ICHINOSE Shogo <shogo82148@gmail.com>
もちろん commit 数だけがすべてではない。だが、少なくとも「arp242 氏は急に現れてプロジェクトを乗っ取った人」ではない。むしろ、長い間かなり実質的に面倒を見ていた側だと見るべきだと思う。
この件で重要なのは、fsnotify には過去にかなり緩く commit 権限を与えていた時期があったらしい、という点だ。
Issue #126 では、当時の maintainer が「最初の PR 後に commit access を与える」ようなかなり liberal な方針について話している。
つまり、過去に commit bit を持っていたからといって、それが現在の production-critical な OSS における release 権限や main への直接 push 権限を持つべきだ、という話にはならない。
昔の小規模 OSS では、PR を投げてくれた人に commit 権限を渡すような文化はあった。善意ベースではある。しかし、今となってはそのまま残しておくのはかなり危うい。
特に fsnotify のように広く使われるライブラリでは、「昔 PR を出したことがある人」がそのまま release できる状態になっているほうが、むしろ supply chain 的には怖い。
だから、arp242 氏が権限を整理したこと自体は、それほど不自然ではない。むしろ、実質 maintainer としてはやるべき整理だった可能性がある。
今回、個人的に一番引っかかるのは、mattn 氏が .github/FUNDING.yml を変更して、自分を GitHub Sponsors に追加している点だ。
commit はこれ。
- github: arp242 + github: [arp242, mattn]
OSS において funding の設定を変えることは、コードの typo 修正や CI 修正とは意味が違う。既存 maintainer との明示的な合意なしに、自分を sponsor 対象に追加するのは、かなり強い行動だと思う。
しかも、arp242 氏の説明によると、mattn 氏は thanks.dev から過去に funds を引き出していたが、fsnotify で実質的な作業をする前だった、という文脈もあるらしい。
この説明が事実なら、arp242 氏が不信感を持つのはかなり自然ではないか。
少なくとも、「mattn 氏が善意で助けようとしただけなのに、arp242 氏が急に怒って追い出した」という単純な話ではない。
mattn 氏は日本の Go 界隈では非常に有名な人で、技術的な実績も大きい。それは否定しない。
疑問点は複数ある。
もちろん fork や別実装を作る自由はある。OSS なので、それ自体は問題ではない。
しかし、今回の流れでそれをやると、「元プロジェクトの信頼性に疑問があるから、こちらに移行しよう」という空気を作りやすい。実際、日本語圏ではそういう反応も見かける。
これはかなり危ういと思う。
gofsnotify が実際にどういう意図で作られたのかは、外からは断定できない。
ただ、既存プロジェクトと似た API の代替実装を、権限トラブルの直後に短期間で立ち上げることには、少なくとも行儀の悪さがあると思う。
最近は、既存 OSS のコードを AI に rewrite させれば、ライセンス上の制約や由来の問題を回避できる、というような雑な発想も批判されている。AI を通したからといって、設計・API・挙動・テスト・不具合修正の蓄積までクリーンになるわけではない。
gofsnotify がライセンス逃れ目的だと言いたいわけではない。そこは断定できない。
ただ、元プロジェクトへの不信が広がっているタイミングで、似た API の代替実装を AI 利用込みで出し、それを周囲が「移行先」として扱うのは、かなり慎重であるべきだと思う。
少なくとも、「AI で作ったから問題ない」「別実装だから問題ない」「有名人が作ったから信用できる」といった雑な受け止め方は危うい。
今回一番気になったのは、日本語圏での反応だ。
みたいな流れが、かなり安易に見える。
有名人の発言は強い。特に日本語圏では、海外 OSS の issue をちゃんと読まずに、日本語の X の空気だけで判断する人も多い。
しかし OSS の maintainer 権限、release 権限、funding、supply chain は、感情で判断するものではない。
mattn 氏のこれまでの実績と、今回の行動の妥当性は分けて考えるべきだ。
同じように、arp242 氏の言い方がきついことと、権限整理の妥当性も分けて考えるべきだ。
もちろん、arp242 氏が完璧だったとは思わない。
権限を外すなら、事前または直後に issue を立てて説明したほうがよかった。
たとえば、
といった governance note を出しておけば、ここまで燃えなかったかもしれない。
ただし、それは「arp242 氏が悪意を持って乗っ取った」という話とはまったく違う。
説明不足だったことと、権限整理の理由がなかったことは別である。
だから、今回の件を「arp242 氏が横暴だった」で片付けるのはかなり無理があると思う。
OSS の信頼性は、有名人が怒っているかどうかではなく、実際の履歴、権限、資金導線、review、release policy、長期保守の実績で判断するべきだ。
https://chromewebstore.google.com/detail/emhjdegiijpniebbjeplpdonicfenmel
どういうものかというと、ブクマのついた匿名ダイアリーとか Togetter とかのサイトを見ているときに、
本文の中に、文章に関連するはてブコメントが挿入されるというものです。
関連するかどうかの判定は、文書中の単語とコメント中の単語で同じものが出てくるかどうかでやってたんですが、
いまいち関係ないものが紐づけられるので、生成 AI に判定させるようにしたらかなりいい感じになりました。
デフォルトは単語一致ですが、OpenAI の API Key を入れると LLM で判定できます。
LLM がおすすめです。