Librahack事件の恐怖
1.
愛知県岡崎市立図書館の公式サイトはLibrahackさんにとって新着図書リストの使い勝手が悪かったため、1秒に1回の間隔で1日2000回の問い合わせを行い、手許に自分にとって便利な新着図書情報データベースを構築・自動更新するプログラムを作成し、実行した。結果、図書館のシステムがたびたびダウンし、図書館の相談を受けて警察が捜査を開始。Librahackさんは逮捕された。その後、Librahackさんは不起訴となった。
個人的には、図書館側の言い分を理解できる事件だった。「刑事罰は不当」という意見には賛成だが、自粛要請はあって当然だろうと思うし、現実的にそれが個人情報の壁に阻まれて不可能だったので警察に相談することになったのは、致し方ないことだったのではないか。
ネットでの反応は、「1秒1回のペースで1日2000回の問い合わせを行ったくらいでダウンするシステムの方がおかしい」というものだった。実際、システムには「不具合」があって、プログラムを「直し」たら、システムはダウンしなくなったのだそうだ。
つまりこういうことなのだろう。図書館が問題視したのは「大量のアクセス」ではなく「システムの停止」であって、たとえLibrahackさんが岡崎市民37万人のうちたった1人の特異な利用者だったとしても、「不具合」のないシステムだったなら停止しなかったのであるから、「悪い」のはシステムを作った業者である、と。
2.
前段の書き方からわかるように、私は違う感想を持っている。
私は機械系の技術者で、構造設計をやっている。その仕事の仕方を考えてみるに、「客先の仕様を満足しているのに不具合とかいわれたくない」と、素朴にそう思う。三流エンジニアの考え方かもしれないが、「業界標準の設計法を採用していれば100℃でも壊れなかったはずだ」なんていわれても、「仕様では、使用条件は-20℃~+40℃でしたよね。±20℃の余裕を見込んで設計して、実際に試験もクリアしているのに、事故の責任を取れとかいわれたくないね」と私は考える。
Librahackさんのような利用法は図書館の想定外だったはずで、実際、37万人も市民がいて、同じようなことをした人は他に1人もいなかったのだ。命がかかっているなら、それでも無視はできまいが、これはそんな問題ではない。
「図書館はポンコツを売りつけられた被害者なのにどうして業者の肩を持つのだ」という意見が私の観測範囲内では圧倒的だったが、ネットで声を出す人々というのは、よっぽど優秀な人ばっかりなんだろうな……と思った。私は正直、そんな水準で仕事をしろといわれても、できない。教科書に書いてあるくらいの手法だぞ、まともな技術者ならこれを知らないはずがない、とかさ、勘弁してほしいよ。だったら俺をクビにして、他の誰かを雇えばいいよ。同じ条件で働いてくれる、もっと有能なエンジニアが見つかるなら、どうぞそうしてください。
まあね、日本中探せば、いるんでしょうよ。でも、その人を見つけるコストというのもあるわけでね。得意科目は国語と社会で、理科と数学は苦手。大学の成績も教養科目で稼いで、専門科目は2年がかりで何とか単位を取りました、なんて私みたいなエンジニアだって、失業させたら公費で生かさにゃならん。だったら働いてもらった方がマシなんじゃないの。ちゃんと仕様を満たす仕事はしてるんだから。
業者は図書館の提示した仕様を満足するシステムを納入したんでしょう。そして実際、何年も問題は起きなかったんだ。だからこの事件で業者の人が「世論」とやらの批判に屈して無償でプログラムを改修するなんてのはおかしくて、図書館システムの利用規約に「問い合わせは1日100回、週300回まで」とか書き加えれば、それでよかったんじゃないの。
3.
私の家の近所の図書館では、夜間帯は利用者が少ないため、少ない人数で業務を行っている。私が書庫の本をリクエストすると、貸出カウンターから人が消えてしまい、列ができたりすることもある。私の次の人がまた書庫の本を頼むと、ますます列は伸びていく。
が、3組(家族できて1枚のカードで借りるとか、とかくつるむのが好きな高校生が本を借りるのは1人なのに友人と一緒に並んでいることは珍しくないので、3人以上が並ぶことはふつう。なので3組と書く)以上が列をなすのは、延長開館の時間帯(2時間)のうち、概ね1回程度でしかない。そして半分以上の時間は、誰も貸出カウンターを利用していない。私はカウンター前のソファが好きで、よく座って本を読んでいるので、そのことを知っている。だから、列が伸びてイラ立った人が、職員に文句はいわないが、一緒に並んでいる家族や友人に「もっと人を増やせばいいのに」というのが聞こえるたび、「費用対効果がなぁ……」と思う。
さて、もし次第に夜間帯の利用者が増えていき、書庫の本のリクエストがもっと大勢から寄せられるようになったなら、人手を増やすのは自然なことだろうと思う。しかし、10万人に1人くらいの珍しいタイプの人が転入してきて、5分に1回のペースでリクエストをはじめたらどうだろうか。
図書館のような公共施設は、そもそも全市民の一斉利用に耐えるようにはできていない。私の住む町では本の貸出上限は1人10冊だが、図書館の蔵書は人口×3しかない。図書館は「別に図書館なんて要らないだろ」と思ってる多数派から少しずつ税金をいただいてささやかに運営されている。「お互い様」の精神が必要だ。
たまたま人員配置術の達人が図書館にいれば問題は解消されるのかもしれないが、対応すべきはまず10万人に1人の特異な人の方だと思う。これは想像力の問題だ。優秀な人の「標準」を基準として、天下り式に「最低限」のハードルを上げられては困る。小学校のクラスメートを思い出してほしい。その誰もが、ほんの少し頑張ったくらいでうまく回るような、そんな社会のあり方のバランスを考えてほしい。
4.
「ダメ業者の淘汰」は、市場が行うべきこと。優秀な人々が、自分たちの常識に基づいて無闇に基準を吊り上げるべきではない。「うちの方が安くて堅牢なシステムを提供できますよ」という業者があるなら、いずれ状況は改善されるだろう。議会だって予算を検証している。
あるいは、「品質の追求より(凡人を雇って)価格を下げる方が重要」というのが市場の声かもしれないよ。サーバーとしてこの程度の性能がないのは「不具合」だ、なんて批判には、絶対に与したくない。「改善の余地がある」ことをいちいち「不具合」といわれたのではたまらない。
Librahackさんの反省の弁は、私には納得のいくもの。これを残念がる人がネットにはたくさんいるけれど、私は大いにホッとした。Librahackさんのような感覚が常識でなければ、私は困る。
5.追記(2010-11-02)
多くの人の関心は「こんなことで逮捕!?」にあるが、私は私の関心事について書いている。逮捕の是非と業者叩きとは切り離せる話だ。「逮捕は不適切」と「欠陥製品に非ず」は両立する。また「刑事罰は不当」と「合法だが迷惑。自粛すべき」も両立する。一部の人の「私が主張していないこと」への批判には困惑する。
また私は優秀な人の足を引っ張るつもりも毛頭ない。みなさんどうぞ高い給料を貰ってください。私が脅えているのは、足切り的な発想だ。「無能は消えろ。俺の視界の外で死ね」って感じだから、恐ろしいんだ。「消費者がどんな選択をしても大丈夫なように、全ての業者を一定水準以上に底上げすべし。ついてこれない業者は廃業しろ」みたいなのはダメだ。ある消費者が真に求めるのは「サポートのフレンドリーさ」で、性能は二の次かもしれない。頭のいい人のお節介で市場を縛るべきでない。
事件について、他に思うことは三つ。1)警察に相談しなくとも図書館がLibrahackさんと連絡を取れる仕組みがあれば事件は起きなかった。2)「違法ではないが迷惑」への対処コストが全面的に「社会」持ちなのは不都合。「自由のコスト」を一定割合(上限あり)で個人に繰り戻す市場の整備を望む。3)IT分野でも「ルールで対処する」方法論を推進すべき。……いずれも他の話題で記事にしたこと。再論しない。
関連:
- 岡崎市中央図書館事件(大屋雄裕さん)
- 続・岡崎市立図書館事件(1)/(2)/(3)/(4)(大屋雄裕さん)
- 図書館や開発ベンダーの事情(紅茶屋くいっぱさん)
いずれも興味深く読みました。