2019年3月28日木曜日

何がバグであり何がバグでないかは権力闘争によって決まる

 人間社会は毎日毎秒、ありとあらゆるところで、足し算引き算掛け算割り算をしている。こういう日々の算術にはバグはない。それは、なんらかの定義や仕様と一致しているからではない。
 「数えることとプリンキピアの間に不一致が繰り返し起これば、それは日々の数えることの誤りの証拠としてではなく、プリンキピアにおける誤りの証拠として扱われるだろう」(プリンキピア・マテマティカ
 日々の算術は、「どちらがバグか」の判定において最強である。もし定義や仕様と一致しなければ、それは定義や仕様のほうが誤っている。
 「どちらがバグか」の判定における強さのことを、「権力」という。
 日々の算術(数十億人が実践)と数学基礎論(せいぜい数百人)のあいだのコントラストは劇的すぎて、日常には起こりえないことのように感じられるかもしれない。事実は逆だ。コントラストが弱まるほど、権力がありありと機能するようになる。

 バージョン4以降のAndroidを、ホストとしてではなくデバイスとしてUSBでつなぐと、MTPのストレージとして認識され、中のファイルシステムが読める。しかし接続後に作成されたファイルは見えない。見えるようにするにはAndroidをリブート(正確にはMediaScannerConnection.scanFile()する)しかない。
 これは2012年から2019年現在まで絶えず新たなデベロッパが出くわしては「これはバグだ」と主張しているバグだが、Googleは「これはバグではないので直さない」という主張を変えていない。
Android MTP support does not show recent files until the device is rebooted
 さてこれはバグか。
 どちらの肩を持つにせよ、あなたがそれを判定することは、あなたが権力闘争の一部になることを意味する。