ハッカーは厨房とは対応しない
「ハッカー論」として、少なくとも日本のインターネットで最も有名な文献は「ハッカーになろう How To Become A Hacker)」だと思います。まぁ、簡潔に言えば「ハッカーとクラッカーは違う」という例のアレの周辺でハッカーを語る文献なんですが、先に結論を書いておくと「この文献はもはや(部分的な話として)時代に即していないのではないか」という主張を行ってみたい。
最初に「当たり障りのある」ことを書いてしまったので続きとしてフォローを行っておきますが、僕自身も(少なくとも最初は)ああいう文章によってインターネットに触れた人間であるし、90%の部分で「正しい」ことを書かれていると思っています。
ハッカー精神は、ソフトウェアハッカー文化だけに限られたものではありません
何に対しても「ハッカー」でありたいと思う、それが「ハッカー」の第一条件なのだ、という。何故なら、「そこに山がある」ように
この世界は解決を待っている魅力的な問題でいっぱいだ
から(「というのを読んでたくせに何で貴様は今コレなのよ?」というのが突っ込みどころです)。
ハッカーとフリーカー(上記の文章にもある、電話ただがけで遊ぶ人)は違う。フリーキングだって、「電話」というブラックボックスを解析し「魅力的な問題」を突破する、という意味では面白い行為なんだと思う(僕は電話ネタはあんま興味がないので実際全然知らないんですが)。引用元にはそこまで書いてないけど、少なくとも僕はそう解釈している(ので、そもそもここに同意して貰えない人にはここから後は全く同意を貰えないと思います)。ただ、そこに留まることが悪なんだ。そこに留まって「違法行為」を行い、それしか行わないことが悪なんだ。「ハッカー」とは、電話というブラックボックスを解析し、そこから次の場所に進むクリエイティビティを持った人間なんだ。
tokix.netを開設したのが三年前で、まぁ「三年前の状況」であって「今の状況」ではないんだけど、僕はネットワークを語るためにLinuxとプログラミングを前提とする風潮に疑問を感じていた。当時、いわゆる「アングラサイト」は二極化していて、「バカでも分かるIria解説」的な初心者向けサイトとLinux系のネットワークヲタサイトしかなかった。・・・少なくとも、それが大半だった。
「果たして、そうでなくてはならないのか?」という感が非常に強くて、つまり「HTTPの仕組みなんかIriaを使っていれば覚えられるんじゃないか?」と。Iriaを使って様々なファイルを落としていれば「User-Agentを正しく設定しないと落とせないサイト」とか「標準入力を〜」とか色々なパターンに出くわす。その時に「これは一体なんなんだ?」とブラックボックスに挑む意志があれば、それは「ハッカー精神」なのではないか。「まぁよく分からないけど質問したら『こう設定しろ』と言われたのでそうしたら落とせたからハッピー」で終わることが「非ハッカー」なのではないか。
即ち、「ハッカー≠プログラマー」「ハッカー≠Linuxユーザー」でもいいのではないか?
かつて、プログラムはPCという機械を弄くるために必須なスキルだった。僕が初めて買った8bitマシンな某アレは電源を入れると「BASIC組め」という画面が表示された(という説明で「初めて買ったPCはWinマシン」という人に通じるかが謎なんだけど)。だから仕方がないから雑誌に載っていたプログラムを打ち込んでゲームを楽しみ、楽しんでいる間に「このシューティングゲーム難しいので自機を無限にしてみよう」とか改造を始め、自分で0からプログラムを組むようにもなった。その行為は「Iriaでダウンロードを行っている間にHTTPを覚えた」には似ているが、現在プログラムを0から覚えることと似ているか?現在「わざわざ」Linuxをインストールする行為と似ているか?・・・僕の話は別にどうでもいいんだけど、「偉大なる先人」達は「今わざわざWinを消す」のと似たような精神で第一歩を踏み出したのか?
プログラムに関して言うと、「サイト運営を始め掲示板CGIを設置した」らPerlを多少なりとも使える「べき」だと思う。何故かと言えば、そうでなければ、例えば「この掲示板に書き込むと俺のIPは閲覧者に抜かれるのか?」と不安に「ならねばならない」からだ。
プログラミングに限った話でもなく、ネットワークとかPCとかいうモノ自体がかつてとは状況を変えている。もはやバッファオーバーフローはヲタ知識に過ぎない。セキュリティ系の海外MLにでもいくつか入って、最新のセキュリティホール情報を逐一チェックしていれば「この場合はこれ」として「クラッキング」を行うことができるが、それはハッカー的ではない。街中の古い公衆電話を狙ってフリーキングを行う行為が「ハッカー的」でないように。
ここらへんの話は「ハッカーへの階段」さんが詳しいのでリンクで詳細は省略する。このへんの記事が特にオススメ。かつて、プログラミングは熱かった。何故なら、そこに解決を待っている問題がたくさんあったから。ハッカー精神を持った初心者が楽しめる舞台がそこにあったから(いや「ハッカーへの階段」の中の人は当時から全然初心者じゃなかったというか雲の上の人だったけど初心者も初心者なりに楽しめる舞台があった、の意味であり、その様子というか当時の状況を知るのに上のリンク先文献はとても面白いと思う、の意味)。「あったから」という過去形で、それでいいじゃないか。
「ハッカー=犯罪者」でないように、「ハッカー=善人」でもない、という前提で書いてきた。ので、そこに反論されると「それはこの記事の主旨ではない」としか返せないんだけど、「ハッカー的」とは例えば「自分の欲望に忠実であること」とか「ブラックボックスを覗きたいという欲望を持ち続けること」とか「時には箱を裏返してみる発想」とか「ある目的に対し最も簡単な手段を見つけ出す論理性」とか、そういう問題ではないのか?
Linuxやプログラミングは、それでもあるレベルにおいて必須スキルになるとは思う。でも昔と今では状況が違う。「まずプログラミングを覚えろ/まずWinを消せ」ではない。「あるレベルにおいて、プログラミング/Linuxは『ある目的に対する最も簡単な手段』になる、その時にプログラミング/Linuxを敬遠しない精神を持て」でしかないのではないか。昔ハッカー精神とプログラミングはニアリーイコールで結ばれた。でも、それはあくまで昔の話だ。WinでもGUIアプリでも、今は大抵のことが出来る(もちろんそれは「大抵」なのでこの段落の最初に繋がる)。それでいいじゃないか、と。
そして、「ハッカー精神」がプログラミングやLinuxの直接原因にならないように、その逆も然り。Linuxやプログラミングに携わる人間が全員「ハッカー精神」を持っているかと言えば、そんなことはない。少なくとも現状では、無い。
マイクロソフトが存在するずっと前からハッカー文化は存在したのですし、マイクロソフトが過去のものになるときも、なおハッカー文化は存在するのです。
いつの時代でも、マイクロソフトが過去のものになったときも、そしてもちろん「現在」でも、その「ハッカー文化」というのは存在するはずなんだ。即ち、ハッカーは「マイクロソフト」という具体的名詞と関連性のあるものではないし、Linuxやプログラミングという具体的名詞とも関連性がない。「かつてニアリーイコールだった」に過ぎない。
例えば僕は常に「ハッカー」を「教えて君」と対応させているけど、「厨房」は必ずしもハッカーとは対応しない。「自分の欲望に忠実であること」とか「ブラックボックスを覗きたいという欲望を持ち続けること」とか「時には箱を裏返してみる発想」とか「ある目的に対し最も簡単な手段を見つけ出す論理性」とか、そういうものは時に「厨房」になる。特に、「ハッカー」と「プログラマー」「Linuxユーザー」が分離した現在では。
「それは本来何なのか」ではない。「それを裏返すと何が出てくるか」だ。このサイトを始めるとき「プログラミングを前提にしない」とかと同じように決めたことは「(いわゆる)アングラツールを使わない」で、例えばIP抜きのためにパーソナルファイアーウォールを紹介してみよう、の意味(ぇー)。
例えば「裏返す」ということを知らない「スクリプト・キディ」が「これをしたいのでそのために作られたツール下さい」と言うことが「ハッカー的」でないように(ダウンローダーを設定弄って掲示板荒らしに応用するのは「面白い」が荒らしツールを使うのは「面白くない」)、犯罪者がハッカーではないように、そういった感覚を持っていないプログラマーやLinuxユーザーもまた、ハッカー的ではない。
・・・と、いうことで、当サイトは「教えて君」や「スクリプト・キディ」はアレですが厨房歓迎です(そんな結論かよ)。

TrackBack
この記事へのトラックバック