-*- ReasonSet -*-

hack / hackerとは

hackとは

斧を用いて木から家具を作り出す人を指す「hacker」に由来し、もともとは「必要とされるものを(出来はともかく)短時間で作り上げること」を指します。

hackという動詞で使い始めたのはコンピュータ分野であり、やはり元はコンピュータに関係する行為、つまり必要とされるプログラムをその場でつくり上げることを指し、また必要とされる優れたものを作り出すこと(つまり素晴らしい成果物を生み出す行為)も言われました。

ただし、コンピュータの時代が進むに従って、スクラッチで作るよりも既存のものの問題を解決し改善する方が一般的になります。そのため、「ある対象の内部に手を入れて改良・改善すること」も指すようになります。こうした用法が出始めた当時はプログラムのソースコードは共有財産であり、「知識は共有するもの」というのがhacker精神でした。ですから、その時点では既存プログラムをhackするのはごく日常的な行為であり、「単に使うだけでなく、不満があるならば中を覗いて改善する」という行為がhackであり、そのような思考・行動を持つのがhackerでした。

しかし時代は時代は変わり、ソースコードは企業の財産、企業秘密となっていきます。そのためhackはごく普通の行為ではなく、その秘密を暴いて内部に手を入れる時代なっていきます。しかし、その意味は、「問題があるから直したいのだが、隠されていてそれをさせてくれないので、仕方ないからそれを分析して手を入れる」ようになります。

そこにあるのは悪意ではありません。よくないものは直したい、ということと、知的好奇心です。

そして、こうしたことから「感情的または肉体的に耐えること」や「ある問題に取り組み、解決すること」をhackと言うハッカージャーゴンが誕生しました。例えば「大学の課題をhackしてるんだ」「この暑さはhackできないよ」といった具合です。

これは後に自然な流れとしてより一般化して使われるようになり、これが現在のhackです。スラング的に使う場合は、日本語でいうところの「攻略する」という言い方にかなり近いと思います。

また、攻略の典型はいたずらであるため(例えば信号機の人型を卑猥なものに変えてしまうとか)、「いたずらする」という意味を含む場合もあります。「目的を持ってではなく、好奇心と探究心によってコンピュータとやりとりすること」という意味もあったのですが、これはコンピュータが一般化した今では不十分な要件でしょう。

hackerとは

簡単に言えば、物事の仕組みや内部に興味を持ち、知的好奇心を持ってそれに手を入れようとする人、をhackerと言います。

物事の内部、は「ボンネットの下」(under the hood)と表現します。「普通の人」はクルマは走って当然のものであり、走らなくなれば専門家に頼むものです。ボンネットの下を知ろうとはしませんし、ボンネットの下に関り合いになろうとはしません。クルマが走る仕組みはブラックボックスであってほしいわけです。コンピュータも同様で、インターネットがなぜ通信できるのか、コンピュータしどういう仕組みなのか、などということは普通の人は知ろうとはしないし、ブラックボックスでいてほしいものです。

対してhackerはそこに好奇心をそそられ、積極的に探求しようとします。

hackerも今では非コンピュータ領域においても使われますが、hackと比べると普通はコンピュータのことを指す語です。最低限のこととして、「コンピュータ分野において内部構造や挙動に興味を持ち、それを知りたがり、また手を入れたがる人」は必要条件になると思います。

また、ハードウェアを指して述べている場合はいざ知らず、ソフトウェアについて述べているのであれば、探求するにも手を入れるにもプログラミングはしなくてはいけませんから、プログラミングができて、かつ趣味として楽しんでやっている、ということも必要条件でしょう。最低限、「熱中してプログラミングをする」というのは不可欠であるようです。

性質や生態としてはhackerといえますが、hackerがコンピュータの全てに精通しているわけではありません。また、ある一面(プが言うのログラム)ではhackerであっても、ある一面(プログラム)ではただのuserにすぎないことも多々あります。そのため、hack Xと同じように、何をhackしている人か、という意味でX hackerと言うのが一般的です。

それがhack targetになります。最近はlife hackという言葉が浸透し、これは日常生活における創意工夫として扱われていますが、私のhack targetはlifeで、日常生活においてコンピュータを有効に使い、人間を反復や単純作業といった退屈な行為から解放し、それをコンピュータに肩代わりさせることで時間をもっと有意義に、生産的に使えるようにする、というものです。そのため、大型のプログラミングや既存プログラムのhackよりは、もっと小さく日常的なプログラミングやノウハウ創造が中心になります。

hacker倫理

hackerをhackerたらしめるものとしてhacker ethicがあります。これは、hackerに共通してみられる倫理観です。

例えば情報共有を「良いこと」とみなし、情報はオープンであるべきだと考える。そのために時に暴露してまで情報を共有資源としようとする(例えばwiki leaksのように)。また自分の発見や成果は公開して共有するのが義務である、というのもまた倫理です。

また、盗んだり破壊したり機密を侵さない限り遊びや探求のためにシステム破りをしても問題ない、という倫理観もあります。

出典

主にアスキー刊ハッカーズ大辞典を参考にしました。これはjargon fileという、古いhacker有志によって編纂されてきたデータを本にまとめたものを翻訳したものです。

この他hacking; 美しき策謀実践パケット解析といった書籍の記述も参考にしました。

記述は省きましたが、hackerの精神性や共通してみられる生態は、ハッカーズ大辞典の「J.Random Hackerの肖像」が参考になります。

Since: 2014-11-13 21:30:29 +0900
Last update: 2014-11-19 13:31:59 +0900
About