2026-05-08

fsnotify の件、arp242 氏が一方的悪者にされているのはかなり違和感

fsnotify の maintainer 権限まわりで少し騒ぎになっている。

日本語圏では、mattn 氏が X で発信したこともあって、「arp242 氏が横暴に maintainer を外した」「有名 OSS を乗っ取った」「怖い」みたいな受け止め方がかなり広がっているように見える。

ただ、GitHub 上の issue や commit log、実際の contribution を見ると、この見方はかなり雑ではないかと思った。

少なくとも、公開情報を見る限り、arp242 氏が一方的に悪いという話には見えない。むしろ実質的に長く fsnotify をメンテしていた arp242 氏が、過去の緩い権限付与によって残っていた commit 権限を整理した、という見方のほうが自然に見える。

fsnotify は「誰のプロジェクト」だったのか

まず前提として、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 氏は急に現れてプロジェクトを乗っ取った人」ではない。むしろ、長い間かなり実質的に面倒を見ていた側だと見るべきだと思う。

古い commit 権限と、現在maintainer 権限は同じではない

この件で重要なのは、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 としてはやるべき整理だった可能性がある。

FUNDING.yml の変更は軽く見てはいけない

今回、個人的に一番引っかかるのは、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 氏の行動にも疑問がある

mattn 氏は日本Go 界隈では非常に有名な人で、技術的な実績も大きい。それは否定しない。

ただ、今回の個別の行動が妥当だったかは別問題だ。

疑問点は複数ある。

  • fsnotify の issue 上で十分に確認する前に、X で強い印象を与える形で発信したように見えること
  • FUNDING.yml に自分を追加したこと
  • メンテ権限を外されたあと、似たような APIgofsnotify/fsnotify を立ち上げたこ

もちろん fork や別実装を作る自由はある。OSS なので、それ自体問題ではない。

しかし、今回の流れでそれをやると、「元プロジェクト信頼性に疑問があるからこちらに移行しよう」という空気を作りやすい。実際、日本語圏ではそういう反応も見かける。

これはかなり危ういと思う。

AI rewrite 的な振る舞いは軽く見られすぎている

gofsnotify が実際にどういう意図で作られたのかは、外からは断定できない。

ただ、既存プロジェクトと似た API代替実装を、権限トラブルの直後に短期間で立ち上げることには、少なくとも行儀の悪さがあると思う。

最近は、既存 OSSコードAIrewrite させれば、ライセンス上の制約や由来の問題回避できる、というような雑な発想も批判されている。AI を通したからといって、設計API挙動テスト不具合修正の蓄積までクリーンになるわけではない。

gofsnotify がライセンス逃れ目的だと言いたいわけではない。そこは断定できない。

ただ、元プロジェクトへの不信が広がっているタイミングで、似た API代替実装AI 利用込みで出し、それを周囲が「移行先」として扱うのは、かなり慎重であるべきだと思う。

少なくとも、「AI で作ったか問題ない」「別実装から問題ない」「有名人が作ったから信用できる」といった雑な受け止め方は危うい。

日本語圏の反応がかなり危うい

今回一番気になったのは、日本語圏での反応だ。

  • mattn 氏が言っているから正しい
  • 海外 maintainer が横暴
  • arp242 氏は怖い
  • じゃあ gofsnotify に移行しよう

みたいな流れが、かなり安易に見える。

有名人発言は強い。特に日本語圏では、海外 OSS の issue をちゃんと読まずに、日本語の X の空気だけで判断する人も多い。

しかOSSmaintainer 権限、release 権限、funding、supply chain は、感情判断するものではない。

mattn 氏のこれまでの実績と、今回の行動の妥当性は分けて考えるべきだ。

同じように、arp242 氏の言い方がきついことと、権限整理の妥当性も分けて考えるべきだ。

arp242 氏にも落ち度はある

もちろん、arp242 氏が完璧だったとは思わない。

権限を外すなら、事前または直後に issue を立てて説明したほうがよかった。

たとえば、

といった governance note を出しておけば、ここまで燃えなかったかもしれない。

その意味で、arp242 氏の手続きは雑だったと思う。

ただし、それは「arp242 氏が悪意を持って乗っ取った」という話とはまったく違う。

説明不足だったことと、権限整理の理由がなかったことは別である

まとめ

自分見方はこうだ。

  • arp242 氏は説明の出し方が悪かった
  • しかし、fsnotify を実質的に長くメンテしてきたのは arp242 氏側に見える
  • 過去の緩い commit 権限を整理すること自体は不自然ではない
  • FUNDING.yml に自分を追加する行動はかなり重い
  • mattn 氏の X での発信は、結果として arp242 氏への過剰な攻撃を招いたように見える
  • その後に似た APIgofsnotify を短期間で出し、周囲が移行先として扱う流れもかなり危うい

から、今回の件を「arp242 氏が横暴だった」で片付けるのはかなり無理があると思う。

しろ日本語圏の反応こそ反省したほうがいい。

OSS信頼性は、有名人が怒っているかどうかではなく、実際の履歴権限資金導線、review、release policy、長期保守の実績で判断するべきだ。

少なくとも、fsnotify から gofsnotify に移行しよう、みたいな話を軽くする段階ではない。

  • 日本の悪いエンジニアおじさんがリポジトリ乗っ取ろうとしたのかと思ってたけど全然違った

  • AI云々は難癖にしか見えないな。 それはそうとして、死んだようにしか見えないプロジェクトのコミット権持ってたら 別に自分がコミットしてもいいと思っても変じゃないよね、ちょっ...

  • GitHubよく知らんのだけど これは - github: arp242+ github: [arp242, mattn] 自分のアフィリンク貼ったようなもんという認識で間違いない?

  • 正直さ、銀行、病院、クラウドに影響を及ぼす仕組みを善意のOSSに任せてるってマジ危ねえよな。   そいつらが揉めるだけで全員に影響出るんだもん。問題のfsnotifyだって知らず知らず...

  • https://b.hatena.ne.jp/entry/4787003676465660994/comment/nguyen-oi オープンソースのガバナンス揉め事は見てて飽きないな。mattn氏の貢献度で叩き合うとか地獄すぎる https://b.hatena.ne.jp/entry/478702519909606...

  • mattn側の行動 ツイートは削除したけど魚拓(≠Web魚拓)は残してあるとのこと gofsnotifyはまだある イキってforkしたなら説明責任はあるよなーって

  • またグェンか

    • IT業界も移民まみれだよな、くっそレベルの低い。AIでええやんけ。

  • 日本人の特徴がよく出ている騒動 何を言ったかではなく誰が言ったかでしか判断できない思考力のなさ 権威持ちが発言したことは全部正しいって思いこんでるんだよね 自分でファンネ...

  • IT系はコミュ障が多いんだろうな。メンテナ権限の編集履歴が簡単に確認できれば誤解は生じなかったのかもしれないとは思った。

  • IT技術において日本とかいうゴミみたいに落ちぶれた国でしかイキれない人たちはメインストリームに影響を及ぼさないので問題ないです。

  • 元ツイート消えちゃってるが、個人的に一番悪意があるなと思ったのは、 >> 活動しようと思ったら「勝手なことをするな」と叱られる << ってありもしないことをさも事実かのよ...

    • issueの方でコメントはしてるぞ https://github.com/fsnotify/fsnotify/issues/757#issuecomment-4403090788

    • これのこと言っているらしい https://github.com/fsnotify/fsnotify/pull/606

      • さすがにそれは2年前で古すぎるし、コメント内容もそれほどでもない どう受け取ったのかを別にして、言われたか言われてないかだけを見れば「言われてない」の方が事実寄り

  • それぞれの変更が何月何日におこなわれたのかまで書いてほしい

  • たった2週間のコミット継続でいきなりオーナー名乗るのはヤバい そして氏に同調してgofsnotifyに移行しました宣言してる日本の開発者コミュニティ、正直マジでキモイ

    • OSSなんて好きに分岐してきゃいいだけのもんなのに そこにこういうキモ老害いたら離れて行くわな

    • XZの偽コミッターよりガバくて草

  • この記事に登場する二人のメンテナは他者にレビューしてもらうという発想があまりないように感じる。コントリビューターには感謝してもしきれないが、しかしやはりこの構造は危な...

    • arp242が"rubber-stamp"として批判しているレビューですが、流石に軽すぎる気がしますね。 https://github.com/fsnotify/fsnotify/pull/736 https://github.com/fsnotify/fsnotify/pull/741 https://github.com/fsnotify/fsnotify/pull/...

      • k8sに使われているリポジトリでこんなんされたら締め出したくもなるわ

      • あ、コードについてはレビューしてもらっていますね。発言撤回します。

      • 直近のmattn PRのうち、shogo82148がApproveしているものを並べると PR 内容 PR作成→Approve Approve→merge レビュー本文 差分規模 #736 Windows remWatch nil deref修正 約54分44秒 約10分32...

  • 増田に巣作っているIT増田が即トラバを飛ばしているかと思ったら、まったく違うのだが。 IT増田は架空の存在だったのだろうか????

  • 当番組のコンプライアンス的には問題ありません。

  • この mattn は本当に mattnなんだろうか? スポンサーの件、普段から色々なプロジェクトでそのようにしてるんだろうか? 今回だけそのようにした、と考えるのはかなり奇妙だ 12:47 鋭い...

    • あーAIエージェント野放し疑惑か

    • あーこれおもしろいな 悪意を持って解釈すれば FUNDING.mdに自分を追加して thanks.dev 経由の収益を得る committer権限でAI生成したコードをrubber-stamp(実質ノーチェック)で混ぜ込むことでコ...

  • アメリカで、さまざまな国のバックグラウンドを持つ人たちと一緒に開発していたことがあるけど、「内容ではなく誰の発言かで判断する」のは日本人特有の傾向ではないと思った。 自...

  • https://github.com/fsnotify/fsnotify/issues/757#issuecomment-4405574715 arp242、紳士的にブチギレとるやないか

  • とても深い見識のある方の投稿だと感じた。 この内容を見た後に、GitHubのissueを読んでみたら、当初とは全く印象が変わって見えたし、自分にはなかった視点を教えていただけて感謝。

  • arp242氏は、バグ修正させられて、説明する手間を掛けさせられて可哀想なんだよね。 https://github.com/fsnotify/fsnotify/commit/853adeb28b4e7b01cf719f12619fcdeea8c06d48 👆新たに埋め込まれたバグの修正 h...

  • k8sのSlackみてるけど、mattnがリリースした1.10.0/1.10.1はk8sとして採用見送りになってるね。 (そもそもk8sの規模的にそんなに爆速で依存ライブラリバージョン上げるようなものではないと...

  • 火のない所に煙は立たぬってのが全て、扇動された人は反省したほうがいい

  • wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん