はてなキーワード: ブラウザとは
スティーブン・キングなら、まぁ面白いのだろう、と思って観てきた
ショーシャンクには及ばないが、まぁまぁ面白かった
以下、感想など
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。著書に『みんなの Permalink | 記事への反応(0) | 21:16
「自殺」とかが検索ワードに入ってると露骨に自殺防止のサイトだの電話番号だの出てくるの、検索結果を歪めるなよと思ってしまう クソマイナーな検索エンジンなら大丈夫だったりすんのかな
Torとか使うといいんかなとか思ったけど、あれはあくまでブラウザであって、デフォの検索エンジンが意味不明なアヒルの奴ってだけか
NHKのニュースが「NHK ONE」と契約しないと完全に読めなくなった。
スマホはとっくに見られなかったが、ついにFirefoxブラウザでもシャットアウトだ。
NHK ONEの解約手続きはYouTubeプレミアムやSpotifyのように「ボタン一つで完了」とはいかない。今の時代に、電話や書類のやり取りが必要な「入りにくく辞めにくい」サービスを強いるのは、あまりに不透明だ。
そして何より、これが日本のメディア環境に与える悪影響が怖い。
今、世の中ではこれだけフェイクニュースの危険が叫ばれている。
コロナ禍や地震のとき、僕たちが一番頼りにしたのはNHKのニュースだったはずだ。
信頼できる正確な情報こそ、誰にでも開かれた「公共の広場」にあるべきじゃないのか。
そこを「契約の壁」で塞いでしまったら、情報を買えない人や、不透明なシステムを警戒する人は、デマや偏った情報の濁流に飲み込まれてしまう。
公共放送が、情報の「基準」であることを自ら捨ててどうするんだ。
フェイクニュースが蔓延する中で、信頼できる情報を「一部の契約者だけのもの」にしてしまうのは、この国にとって致命的な損失だと思う
QRオーダー系のサービスについて、いくつか脆弱性が指摘されている記事を読んだ。
もちろん、スタッフ呼び出しAPIが本当に誰でも叩ける状態なら、それは直した方がいいと思う。店舗オペレーションを乱せるし、いたずらや業務妨害につながる可能性はある。
ただ、記事全体としては「脆弱性」と呼んでいるものの中に、実際にはそこまで問題ではなさそうなものがかなり混ざっているように感じた。
まず、Origin や Referer を検証していないことについて。
これは主に、ブラウザ経由で第三者のユーザーを勝手に操作させる CSRF 対策として意味があるものだと思う。
でも、APIを curl や自作クライアントから叩けること自体を防ぐものではない。Origin / Referer を見たところで、ブラウザ外のクライアントからのアクセスは普通に偽装できる。
なので、「Origin / Referer を検証していないから非公式クライアントから叩ける」という話にするのは、ちょっと論点がずれているように見える。
問題にすべきなのは Origin ではなく、そのAPIに認証・認可が必要なのかどうかだと思う。
ここは問題だと思う。
店舗IDやテーブル番号のような情報だけでスタッフ呼び出しができるなら、いたずらはできてしまう。これは直した方がいい。
ただし、これも「金銭被害が出る」とか「個人情報が漏れる」とか「注文を改ざんできる」といった話とは別だ。
影響としては、主に店舗オペレーションへの迷惑、つまり業務妨害寄りのリスクだと思う。
だから、重大脆弱性というよりは、認証・レート制限・QRセッションとの紐付け・異常検知あたりで潰すべき設計不備、という評価が近いのではないか。
これも、そこまで大きな問題には見えない。
メニュー名、商品ID、価格、カテゴリのような情報が取れるという話なら、それは基本的に来店客に表示される情報だ。
もちろん、未公開メニューや内部用フラグ、在庫、原価、店舗運用上の非公開情報まで取れるなら話は変わる。
でも、単にメニューのマスターが取れるだけなら、それはセキュリティというよりスクレイピング対策や負荷対策の話に近い。
公開される前提の情報をAPIでまとめて取得できることを、深刻な情報漏えいのように扱うのは少し違和感がある。
これも「そういう設計なのでは」と思う。
QRオーダーは、そもそもログインなしで使えることに価値がある。客にアカウント登録させず、席にあるQRを読んだ人をその席の利用者として扱う。これはUX上かなり自然な設計だ。
この場合、QRコードやURLは一種の bearer token になる。
もちろん、そのURLが漏れたら困る。だから、推測困難であること、一定時間で失効すること、会計後に無効化されること、注文時に追加の状態検証があることは大事だ。
でも、「QRを知っている人に権限がある」という設計自体を脆弱性と呼ぶのは乱暴だと思う。
もしそれを否定するなら、QRオーダーというUX自体がかなり成立しにくくなる。
どんなWebサービスでも、公開API、ログイン後API、管理API、参照API、更新APIは混在する。
メニュー検索のような公開に近いAPIが非保護で、注文や決済や管理機能が保護されているなら、それは普通の設計だと思う。
「保護APIと非保護APIが混在している」というだけでは、脆弱性の説明としては弱い。
今回の記事で一番気になったのは、非公式クライアントから叩けること、Origin / Referer の話、CSRF の話、スクレイピングの話、スタッフ呼び出しの話が、かなり雑に一つの「脆弱性」としてまとめられているように見える点だ。
もちろん、改善した方がいい点はある。
特にスタッフ呼び出しAPIは、いたずらを防ぐために何らかの制限を入れた方がいいと思う。
ただ、それ以外については、
が混ざっているように感じる。
でも、「重大な脆弱性です」という話にするなら、実際に何が守られるべき情報で、誰が、どの権限で、何を不正にできるのかをもう少し分けて考える必要があると思う。
少なくとも、自分には「スタッフ呼び出しAPIは直した方がいい。ただし、それ以外はそこまで大きな問題には見えない」というのが率直な感想だった。
長かった...。
公開時期色々迷ったけど祝日ってめでたいから公開したった...。
遊んでくれる人がいると嬉しい。
「自分にとっての理想のアクションローグライクとは何か?」をつきつめて作りました。
https://x.com/a_kakei/status/2051289928643068174?s=46&t=n24fcMTVAub4sI6x3UC2UQ
https://store.steampowered.com/app/4364430/Add_Flyers_To_Dreams/
https://kakeia.itch.io/add-flyers-to-dreams-demo
https://store.steampowered.com/app/4548370/Add_Flyers_To_Dreams_Demo/
多くの応援やアドバイスありがとうございます。嬉しいです。
悔いのないようにやっていこうと思います。
とりあえず発注前に動くものを作ってくれって話になったので、ブラウザの通信ぶっこ抜いて見た目は機能するものを作った
技術の事なんか何も知らんから、とりあえず全部Pythonで書いてもらってるんだけど
とりあえず朝から夜まで動いてはいる。でもログとかどうすりゃいいか分かんなかったし、たぶん動いてる全部は残ってない
どうしたらいいんだ
「自民党の改憲草案で憲法はどう変わる?」というサイトがある。内容はタイトル通り、自民党改憲草案への疑問・反対の意思を呈するサイトである。
このサイトはGoogle検索上で「憲法改正.com」というサイト名で表示されるため、「憲法改正.com」と呼ばれることもあるようだ。
しかし、数日前(2026年5月上旬)から「憲法改正.comと検索したときに、防衛省のサイトにリダイレクトされるので、前述のサイトが乗っ取られたのではないか」という主張がXで広がるようになった。
しかし、この主張は誤りである。実際はkaikensouan.com の方が新しいサイトであり、「憲法改正.com」というWebサイトは従来から防衛省のサイトへ転送される設定になっていた。
また、この転送は政府や防衛省が設定したものではなく、「憲法改正.com」という日本語ドメインの保有者によって行われているものである。
ドメインの記録を見る限り、kaikensouan.comは2021年11月に取得されたものである。運営者は秘匿されている。
https://whois.domaintools.com/kaikensouan.com
DNSの設定を見ると、サイト自体はGitHub Pages上に存在していることが判断できる。
サイト上の文言をGitHubで検索すると、このページを保存したリポジトリがヒットする。
https://github.com/kaikensouan/kaikensouan.github.io
コミット記録から、このサイトはkaikensouanというIDの持ち主が2022年3月に作成したものであることが分かる。ドメインだけ先に取得して、数カ月後にWebサイトを立ち上げることは不自然ではない。
また、kaikensouanはGitHub上にこれ以外のリポジトリがなく、このページのために取得されたアカウントであると考えられる。
このサイト自体はページ内やタイトルで「憲法改正.com」と名乗っていないのだが、Google検索ではそのように表示される。これはメタタグの「og:site_name」で「憲法改正.com」と表記されているからである。
このサイトのドメインでもなく、既に他者によって取得されている"憲法改正.com"をsite_nameにした理由は定かではない。ただ、見た目上は表示されるものではないため見過ごしやすく、暫定的に入力しておいたものを差し替え忘れたのではないかと増田は推測している。
最近は忘れられているかもしれないが、一部のTLDでは日本語が使用できる。
.comもその1つであり、「憲法改正.com」とブラウザのアドレスバーに入力した時に有効なドメイン名としてみなされ、検索クエリではなくURLとしてみなされ、サイトにアクセスできる。
そしてhttps://憲法改正[.]com/ にアクセスすると、HTTPリダイレクトによって防衛省(www.mod.go.jp)に転送される。
この転送は防衛省側のサイトが関与したというものではなく、憲法改正.com 側の設定によって行われている。防衛省は一方的に転送されているだけである。
そして、どうやらkaikensouan.comが開設されるよりも昔、少なくとも2014年末頃から憲法改正.comは存在しており、その時点で防衛省のサイトに転送をかけていたことがWayBack Machineに記録されている。
https://web.archive.org/web/20141218151755/http://憲法改正.com/
ドメイン取得日に至っては2005年である。2005年~2014年の間にどういったサイトが存在していたかは記録がないので不明である。詳しい増田がいたら教えてほしい。
https://whois.domaintools.com/xn--6ku91fj1girb.com
ちなみにWhoisの履歴によれば、このドメインはある個人によって登録されている。防衛省や自民党が保有しているドメインという主張がX上で見られたが、推測やAIのハルシネーションを真に受けたものであり、事実に基づいていない。
Whoisは各種サービスから生データを取得可能であり、こういった場合には1次ソースを確認するべきである。
さらに「核武装[.]net」「憲法改正[.]net」「江戸[.]tokyo」「・[.]com」というドメインが確認できた。
「核武装[.]net」「憲法改正[.]net」は憲法改正.comと同様に防衛省のサイトへ、「江戸[.]tokyo」「・[.]com」は徳川記念財団(https://www.tokugawa.ne.jp/)のサイトへ転送される。
BeRealの「2分間投稿縛り」という仕様の問題だとか、Xをやっている人間の方が情報の取捨選択に長けているだとか、色々と語られているが
まず、この手の「閉鎖的・特権的な空間」を可視化するSNSのルーツを辿れば、前略プロフィールやmixiに行き着く。
あくまで身内向けのコミュニティでありながら、個人情報や写真を共有して悦に浸る場所だ。
その後、インスタのストーリーズのように「一定時間で消える」機能が一般化したが、20年ほど前の「2ちゃんねる」や「mixi」が玉石混交だった時代とは、ユーザーの前提が根本的に違う。
かつて、クラス単位でこうしたツールを使い倒していたのは、昭和の最後~平成一桁生まれの世代だ。
完全に個人的な肌感覚だが、この世代の「まともな人間」は、FBやTwitterを一度は触ってみるものの、リスクを察知して早々に身を引いている。
今回、おそらくそれなりの大学を出て、それなりの組織に属する人間たちが立て続けに不祥事を起こしている背景には、売り手市場による「質の低下」もあるだろう。
だが、彼女たちの行動原理を推測すると、より根深い問題が見えてくる。
BeRealには「2分以内に投稿しなければならない」というルールがある。
別に真っ暗な画面を撮って上げれば回避できるはずなのに、彼女たちはそれをしない。
それをしないのは、彼女たちの中に「クランの掟」への忠誠心があるからだ。
それと同時に、「今の自分は特別な場所にいる」という優越感を、無意識のうちにグループ内で示したいという承認欲求が、理性を上回ってしまう。
これに拍車をかけたのが、コロナ禍による物理的な社会的摩擦の減少と、過剰なまでのハラスメント教育。
本来、人間は人前で叱られたり、恥をかいたりすることで「公共」と「私的」の境界線を学ぶ。
最近めっきり聞かなくなったが、それがかつて「TPO(時間、場所、場合)」と呼ばれていたものだ。
過剰に保護され、現実の社会摩擦に晒される経験を奪われた彼女たちは、「社会から自分がどう見られるか」という客観的な視点を養う機会を永遠に失ってしまった。
※永遠に、とは言いすぎかもしれないが、もう彼女たちにそれを教えてくれるお節介な人間は軒並み消えている上に、おそらく彼女たちは忠告を聞き入れるつもりがない。
彼女たちにとって、人生は常に誰かに見られていることがデフォルトだ。自宅、通勤中、そして勤務中。
本来、気を張っているべき「オン」の時間に、SNSという「オフ」の感覚が溶け込んでくることに、何の抵抗も抱かない。
ブラウザ経由でネットに触れ、2ch、mixi世代の洗礼を受けた「90年前後生まれ」と、
物心ついた時からスマホが身体の一部だった「2000年前後生まれ以降」の間には、マリアナ海溝よりも深い溝があるように思う。
とまあAI生成の適当な考察を並べてみたが、これはリテラシー教育でどうにかなるレベルではない気がする。
ある意味、氷河期世代よりもかわいそうな世代なのかもしれない。
だって、子供の頃に経験しておくべき摩擦で学ぶことは、一体誰にどうやって教わる?
炎上して怒られてからじゃないと学べないのなら、そんな人間怖くて採用できないでしょ。
本人はたったスマホで撮影しただけ、何が悪いの?という感覚でいて、OJT、課長、支店長は飛ばされちゃうのにね。
動画で取られている同期か先輩社員見た?「辞めてよ~笑」って感じで叱ってもくれてないじゃんね。
新入社員が入るたびに、爆弾持たされた~という感覚で一生懸命、優しく、辞めないように根気よく説明・教育できる?
というより、たぶん教育でどうにかなるような問題じゃないんだ、これは。
だって情報リテラシーや社内規定や社会規範なんかより、SNSという謎のクランの掟や承認欲求を満たすことの方が優先順位が高いんだから。
ボタンを押したときの感触とか引っかかり、フィードバックみたいな感触って
ブラウザとネイティブアプリで微妙に違わない?個人的にはネイティブのほうが好き。
• 携帯電話:多くのHarediは「kosher phone(コーシャー携帯)」と呼ばれる制限付きのデバイスを使っています。これらは通話と極めて限定的なテキストのみが可能で、インターネットブラウザ、SMSアプリ、カメラ、動画、音楽などがブロックされています。違反者は共同体から強い社会的制裁(shunning)を受けることがあります。
• インターネット:原則として禁止または厳しく制限。家庭用パソコンやスマートフォンのインターネットアクセスはラビの許可が必要で、多くの家庭ではフィルタリングツールを義務付けています。ただし、仕事や生計のために一部の男性・女性が制限付きで使うケースが増えています。
• 主なメディア:街角のポスター(pashkevil)、コミュニティ内新聞、ラジオ(制限付き)、電話ベースのニュースホットラインが中心です。テレビや一般的なSNSはほぼ排除され、情報はラビや共同体指導者が管理・フィルタリングしたものが主流です。
この環境は、伝統的価値観(トーラー中心の生活、早婚、大家族、ジェンダー役割の厳格な分離)を維持しやすい閉鎖的エコシステムを作り出しています。外部の「有害な影響」(セクシャリティ、世俗文化、個人の自由主義など)を物理的・技術的に遮断することで、共同体の一体性を保っています。
ピーク時(2003-2005年頃)の7.5人前後から約1.0〜1.3人低下しており、過去40年近くで最も低い水準に近づいています。 2025年の最新推計でも6.2〜6.5台と、緩やかな低下傾向が続いています。
非Harediユダヤ人女性は約2.2人。Harediの出生率が全体を押し上げ、イスラエル全体のTFRを約2.8〜2.9に保っています。
過去10年ほぼ横ばい(52〜54%)。多くの男性は結婚後もイェシーバ(宗教学校)やコルレルで終日トーラー学習に専念します。
Haredi女性は出産・子育てとフルタイム労働の両立を強いられるケースが非常に多く、平均労働時間は週32時間程度(非Haredi女性は38.5時間)。教育職や低賃金サービス業に集中しています。
女性が「出産も労働も担う」負担は極めて重く、子育てコスト(教育・住宅・食費)の上昇が直接響いています。女性が、Haredi社会の「学習社会(男性がトーラー学習中心)」モデルを支えています。
女性がこれだけの出産(平均6人超)と労働を両立させているのは、先進国ではほとんど例がありません。宗教的動機と強い共同体意識が「負担を耐えさせる」役割を果たしていますが、経済的・心理的コストは蓄積しており、若い世代で価値観の変化(就労意欲の上昇や家族観の多様化)が進んでいます。
Harediの教育システムは、宗教学習(トーラー・タルムード中心)を最優先とし、世俗教育(core curriculum:数学、英語、科学、歴史など)を大幅に制限・排除しています。
世俗科目は最小限かほぼゼロ。2025-2026年のデータでも、男子の大学入学資格(バカロレア相当)の取得率は約16%程度と極めて低い(非Harediユダヤ人は86%)。
イスラエル政府は予算を投入していますが、core curriculumの義務化がほとんど守られていない状態で、最高裁判所が何度も「資金停止」や「説明責任」を命じていますが、執行は弱いです。
Harediとして育った人は高等教育や現代の労働市場に必要な基礎スキル(英語、数学、コンピュータなど)が深刻に不足します。
抜ける(defection / OTD)人は毎年一定数いますが、極めて高いコストを伴います。
Harediコミュニティは閉鎖的で、家族・友人・結婚相手・仕事・住居のほとんどがコミュニティ内で完結しています。抜けると家族から絶縁(shunning)されるケースが非常に多く、経済的・感情的な支援を一気に失います。多くの脱Harediは「突然のホームレス状態」や「極度の孤独」に陥ります。
世俗教育が不足しているため、自分でゼロから学び直す必要があります。英語がほとんどできない、数学が小学校レベル止まり、現代社会の常識(銀行、税金、就職活動など)がわからない状態で社会に出る人が多数です。 支援団体(Footstepsなど)によると、脱Harediの多くは成人後に高等教育をやり直し、数年〜10年単位の苦労を強いられます。
アイデンティティの再構築、PTSD的なトラウマ、精神保健問題が発生しやすい。コミュニティ離脱者の離婚率や貧困率も高くなります。
脱Haredi支援団体(Footstepsなど)の活動は活発ですが、支援を求める人は「コミュニティの監視」や「恥」の意識からハードルが高いです。
デバッグとか仕事だけで腹いっぱいなんだが、ちょっとだけ調べてみた
Firefox 150.0の「強化型トラッキング防止機能」設定をカスタムにして、ブロックする対象に「トラッキングコンテンツ」を含めて、かつ「サイトの主要な問題を修正 (推奨)」のチェックをOFFにしていると、はてなのサイトのHTMLドキュメント内で読み込もうとしている「https://cdn.www.st-hatena.com/css/global.css」を含む諸々のコンテンツがブロックされる
ブラウザコンソールをみたら「強化型トラッキング防止が有効なため、“<URL>” のリソースがブロックされました」というログが確認できた
ちなみに「トラッキングコンテンツ」をブロックする設定でも、「サイトの主要な問題を修正 (推奨)」のチェックをONにすると、はてなブックマークではブロックされるコンテンツの数が大幅に減り、CSS等が読み込まれるので、表示がまともになる。でもはてなブログと匿名ダイアリーはこの設定でもダメで、ブロック対象から「トラッキングコンテンツ」を外す必要がある
よく分からんのは、例えば https://cdn.pool.st-hatena.com/valve/valve.js とか、はてなブックマークでは「サイトの主要な問題を修正 (推奨)」のチェックのON/OFFで読み込まれるか否かの挙動が変化するんだが、はてなブログと匿名ダイアリーではON/OFFのどちらでもブロックされるんだよなあ
Firefox tracking protection - Privacy on the web | MDN曰く:
Content is blocked based on the domain from which it is to be loaded.
Firefox ships with a list of sites which have been identified as engaging in cross-site tracking of users. When tracking protection is enabled, Firefox blocks content from sites in the list.
Sites that track users are most commonly third-party advertising and analytics sites.
ということなので、もしかしたらHTMLドキュメントとは異なるドメインからCSSとかを読み込もうとした時にFirefox内のリストと照合している感じなんだろうか? でもそれだけだとはてなブックマークとはてなブログ・匿名ダイアリーとで症状が変わる理由を説明できないのだが……有識者の意見を聞きたいところ