ハッカーになろう How To Become A Hacker)

著者 Eric S. Raymond
   esr@snark.thyrsus.com
   Date: $Date: 1999/07/03 01:52:32 $

翻訳 山形浩生 <hiyori13@mailhost.net>
ベースとして中谷千絵 <jeanne@mbox.kyoto-inet.or.jp> の旧版に基づく訳を使用



I. なぜこんな文書を書いたか

 わたしは Jargon File の編集者なので、しばしば熱心なネットワーク初心者から「ウィザード級の大ハッカーになるにはどうやって勉強すればいいの?」といったようなお尋ねメールを頂きます。ところが不思議なことに、こんな大事な問題を扱った FAQ や Web 文書 はみあたりません。というわけで、自分なりのヤツを。

この文書をオフラインで読んでいるなら、最新版は次のところにあります。 http://www.tuxedo.org/~esr/faqs/hacker-howto.html


II. ハッカーって何?

 Jargon File には「ハッカー(hacker)」という言葉の定義が山ほどあがっています。そのほとんどは、技術的な熟達や。問題解決、限界を克服することといったような話と関係した内容です。でもハッカーになる>方法を知りたいなら、ホントに関係ある定義は2つしかありません。

 熟練プログラマやネットワークの天才たちのコミュニティないしは共有文化というものが存在しています。その歴史は初期のタイム・シェアリング・ミニコンピュータや黎明期の ARPAnet の実験にまで遡ることができます。この文化に属する人々が「ハッカー hacker」という言葉をうみだしました。ハッカーたちはインターネットを築きました。ハッカーたちが UNIX オペレーティングシステムを今日のような形にまで作りあげました。ハッカーたちが Usenet を運営し、World Wide Web が使えるようにしたんです。あなたがこの文化の一員で、それに貢献し、その文化のほかの人たちがあなたを知っていて、しかもその人たちがあなたをハッカーと呼んでくれるなら、あなたはハッカーです。

訳注:ARPAnet ARPA ネットワークとは国防省の ARPA の研究委託を受けた大学や政府研究機関を政府関係の研究で相互に情報を交換するために構築されたもので、インターネットの技術的基盤になった。RFC 991

 ハッカー精神は、ソフトウェアハッカー文化だけに限られたものではありません。ハッカー的態度をその他エレクトロニクスや音楽などに発揮する人たちもいます——実はどの科学や芸術分野でも、一番高い水準ではこのハッカー精神が見られます。ソフトウェアのハッカーたちも、ほかの分野での似たような精神を察知して、それを「ハッカー(hacker)」と呼んだりします。さらにハッカー性は、そのハッカーが活躍する個別分野とは無関係に存在するという人もいます。しかしこの文書ではこれから、ソフトウェアハッカーの技術と態度、そして「ハッカー(hacker)」という言葉を生み出した共有文化の伝統に話をしぼります。

 ハッカーを声高に名乗る別の集団が存在しますが、彼らはハッカーではありません。これはコンピュータに侵入したり、電話のただがけしたりする人々(主に思春期の男性)です。本物のハッカーはこの連中を「クラッカー(cracker)」と呼び、一切関わりを持ちたくないと思っています。本物のハッカーたちはたいてい、クラッカーは怠惰で無責任で大して賢くないと思っています。車の点火回路をいじってキーなしで車を始動できても自動車エンジニアにはなれないように、セキュリティ破りを目論んでもハッカーにはなれません。残念なことに、多くのジャーナリストや著述家たちはクラッカーについて書くために `ハッカー hacker'という言葉を誤用し、使い続けてきました。この事実は、いつまでも真のハッカーたちにとって悩みの種となっているのです。

 基本的な違いとはすなわち:ハッカーはものをつくります。クラッカーは壊します。

 ハッカーになりたいならこの文書を読み続けなさい。クラッカーになりたいなら、alt.2600 ニュースグループを読んで、そして自分で思ったほど頭がよくないことがわかったときには、ブタ箱を 5 年や 10 年くらう覚悟をすること。クラッカーについてこれ以上言うことはありません。


III. ハッカー的心構え

 ハッカーは問題を解決し、物事を築きます。そして自由と自発的な助け合いを信条としています。ハッカーとして受け入れられるには、こういう姿勢態度を持つようなふるまいが必要です。そしてこの姿勢を持つかのようにふるまうには、本当にその心構えを信じるしかありません。

 でも、ハッカー文化に受け入れられたいがためにハッカーらしい心構えを身につける気なら、それは勘違い。ハッカーの心構えを本当に信じるているような人になるのは、あなた自身にとって大切なことなんです——学ぶのに役立ち、その意欲を持続させてくれるんです。すべての創造的な芸術と同様、熟達者になる最高の方法は熟達者の精神をまねることです。知識面だけでなく、感情的な面も含め。

 だからハッカーになりたいなら、以下の内容を何度も唱えて、それを信じ込むこと:

1. この世界は解決を待っている魅力的な問題でいっぱいだ

 ハッカーであることはとてもおもしろいのですが、そのためには相当な努力が必要です。その努力をするには意欲が必要です。優秀な陸上選手は、自分の肉体的な限界を越えて体を機能させるという肉体的な喜びが意欲の源です。同様に、ハッカーになるためには自分の技術をみがき、知性を働かす訓練して、問題を解決することにゾクゾクするような喜びを感じるようでなければいけません。

 あなたが生まれつきこのように感じないなら、ハッカーになるにはまずそのような人にならなくてはいけません。さもないとハッキングへの意欲が、セックスやお金や社会的な名声のようなつまらないことに惑わされてしまうでしょうから。

 (自分の学習能力に対する信頼も育てましょう。たとえ今の段階では大きな問題を解決するのに必要なすべてを知らなくても、その問題のほんの一部から取りかかって、そこから新しい事を学び取れば、次の部分の解決に十分なだけ学べて、そして次へ次へと進めば、いずれ大きな問題全体が解決できると信じましょう)。


2. 同じ問題を二度解くような無駄はいやだ

 クリエイティブな人材は貴重な限られた資源です。世の中にはたくさんの魅力的な新しい問題が解決を待っているんだから、車輪を発明しなおすような無駄なことをしてはいけません。

 ハッカーらしくふるまうには、他のハッカーたちが考える時間は貴重であると信じなければなりません。それをとことん信じて、情報を共有するのがほとんど道徳的な義務であると思えるようになりましょう。問題を解決し、その解答を提供すれば、他のハッカーたちは古い問題にいつまでも取り組みなおし続けずに、新しい問題を解決できるのです。

(作ったものをすべて無償で提供する義務があると思いこむ必要はありません。でもそうするハッカーが、他のハッカーたちから最高の尊敬を受けるのは確かですが。食費と家賃とコンピュータ代をまかなうのに必要なだけ自分の作品を売り込んでも、ハッカーの価値観と矛盾しません。ハッキングしている間、自分がハッカーであることを忘れない限り、家族を支えたり、あるいは金持ちになるためにであっても、ハッキングの技術を使うことはハッカーの価値観と矛盾しません。)


3. 退屈と単純作業は悪

 ハッカーたち(そして一般的にクリエイティブな人たち)は、退屈したり、くだらない反復作業をいやいやこなしたりする必要はないはずです。だってそういうときには、彼らしかできないこと、つまり新しい問題を解決するということが行われていないことになるからです。こういう無駄は万人にとって有害です。だから退屈と単純作業はつまらないだけでなく、本当に悪いことなのです。

 ハッカーらしくふるまうには、これを徹底的に信じ込んで、自分自身のためばかりでなく他のみんな(とりわけ他のハッカーたち)のためにも、退屈な部分はできるだけたくさん自動化してしまいたくなるようにしましょう。

(これには明らかな例外が一つあります。ハッカーたちは時々気持ちの切替えのために、あるいは技術を習得するため、またほかの手段では出来ない特別な経験を積むために、端からは反復ばかりで退屈に見えるようなことをします。しかしこれは好きでやっているのです——思考能力のある人なら、決して退屈を強制されるべきではありません)。


4. 自由は善

 そもそもハッカーたちは反権威主義です。あなたに命令できる人は、何かあなたが興味を持っている問題を解決するのを止めさせてしまえます——しかも、権威主義的な頭の特徴として、そのやめさせる理由もあきれるくらいくだらないものであるのが普通です。だから権威主義的態度に出会ったら、必ず戦わないといけないのです。そうしないとあなたや他のハッカーたちが窒息させられてしまいます。

(だからといってすべての権威と戦えということではありません。子どもには指導がいるし、犯罪者は拘束されるべきです。ハッカーは、命令に従うための時間以上にほしい何かを手にいれるためなら、ある種の権威を認めることに同意することもあるでしょう。しかし、それには制限のついた意識的な取引です。権威主義者が求める個人的な降伏などは提供しないのです)。

 権威主義者は検閲と秘密が大好きです。さらに自発的な協力や情報共有を怪しむのです。彼らは自分たちが管理できる「協力」だけを好みます。だから、ハッカーらしく行動するためには、検閲や秘密、そして責任ある大人に無理強いするような圧力やごまかしの使用に対し、本能的に敵意を感じるようにしなくてはなりません。そしてこの信念 に基づいて行動しなければならないのです。


5. 心構えは技能の代用にはならない

 ハッカーになるには、上記の心構えをある程度身につけなければなりません。しかしスポーツのチャンピオンやロックのスターになろうとしたら、心構えだけではどうしようもないでしょう。同じように、心構えだけでハッカーになれるわけではありません。ハッカーになるには知性、実行力、献身、そして大きな努力が必要です。

 ですから、あらゆる面で姿勢や態度は信用せずに、技能を重視することを学びましょう。ハッカーは、ハッカーもどきの相手をして時間を無駄にしたりはしませんが、技能には頭を垂れます。なかでもとりわけハッキング技能を崇拝しますが、その他どんな技能でもいいのです。ごく少数の人しか身につけられない、ハードルの高い技能は特によいもので、精神的な正確さ、技巧、集中力を必要とするハードルの高い技能での技能は最高です。

 技能がすばらしいものだと思える人なら、自分の技能をみがくのも楽しめるでしょう。そのための大きな努力や献身も、単調な骨折り仕事ではなく、一種のもっと強烈な遊びになるでしょう。そしてハッカーになるには、それが不可欠なのです。


IV. 基本的なハッキング技術

 ハッカーとしての心構えは重要ですが、技術はもっと重要です。心構えは技能の代用にはなりません。ハッカーの誰かが、あなたをハッカー呼ばわりしようなどと夢にでも思ってくれるには、まず身につけるべき基本的な能力ツールキット一式があります。

 このツールキットは時代と共にだんだん変わります。科学技術が新しい技能をうみだし、古い技能を時代遅れにするからです。たとえば、かつてはマシン語によるプログラミングがここには含まれていました。また最近になるまで HTML は含まれていませんでした。しかし、いま明らかに含まれるのはこんなものです:


1. プログラミングを身につけること。

   当然のことながら、これは根本的なハッキング技術です。もしコンピュータ言語をなにも知らないなら、まず Python から始めることをおすすめします。設計がきれいだし、ドキュメントもしっかりしているし、初心者にもそこそことっつきやすくできています。でも入門言語として最適でも、おもちゃではありません。強力で柔軟で、大きなプロジェクトにもじゅうぶん対応しています。

   でも、言語を一つしか知らないなら、ハッカーではないし、プログラマですらないのです。あなたはプログラミングの問題について考えるのに、ひとつの言語に依存しない一般的な方法を身につけなくてはならないからです。真のハッカーになるには、マニュアルの記述を自分のこれまでの知識と関連づけることで、新しい言語をものの数日で習得できるようにならなくてはなりません。ということはつまり、ぜんぜん違った言語をいくつか学ぶべきだということです。

   本気でプログラミングをするなら、C を勉強するしかありません。これは Unix の中核となる言語です(が、真っ先に習うべき代物ではありません)。ハッカーにとって特に大事な言語としては、それ以外に PerlLISP があります。Perl は実際的な意味からも勉強しておく価値があります。アクティブ Web ページやシステム管理にとても広く使われているからです。自分では Perl を使わなくても、読めるようにはなっておきましょう。LISP は、それをモノにしたときのすばらしい悟り体験のために勉強しましょう。この体験は、その後の人生でよりよいプログラマーとなる手助けとなるはずです。たとえ、実際には LISP そのものをあまり使わなくても。

 実は、この 4 つすべて(Python, C, Perl, LISP)を勉強しておくのがいちばんいいのです。これらはもっとも重要なハッキング用言語だというだけでなく、それぞれプログラミングに対してまったく違ったアプローチをしているので、どれも非常に有益な勉強となるでしょう。

 ここでプログラムの学び方について完全な説明は出来ません。プログラミングは複雑な技能ですから。しかし、本や講習会のコースでダメだとは言っておきましょう(多くの、いやひょっとしてほとんどのハッカーたちは我流で勉強してきたのです)。役に立つのは、(a) コードを読むこと、そして (b) コードを書くことです。

 プログラムを学ぶということは、自然言語でよい文章の書きかたを学ぶようなものです。いちばんいいのは、その分野の熟練者が書いたものを読んで、自分で何か書いてみて、もっとたくさん読んでも、もうちょっと書いて、もっとたくさん読んでも、もうちょっと書いて……そして自分の書くものが、お手本のもつ力強さと簡潔さをもつようになるまでこれを繰り返すことです。

 以前は読むのにいいコードを見つけるのは大変でした。大規模なプログラムのなかで、駆け出しハッカーが読んだり、いじったりできるソースの形で入手できるものはほとんどなかったからです。しかしこの状況は劇的に変わりました;オープンソースのソフト、プログラムツール類、そしてオペレーティングシステム類(すべてハッカーの作ったものです)が現在では広く出回っています。ここから話はうまいこと、次のテーマに進むことになります。


2. オープンソース UNIX 類のひとつを入手し、使いかたと動かしかたをおぼえること。

 ここではあなたが自分のコンピュータを持っているか、あるいはコンピュータにアクセスできるものと仮定します(まったく最近のガキどもときたら、なんの苦労もないんだから:-))。新米さんがハッカー技術を習得するための唯一最大の重要な一歩は、Linux かフリーの BSD UNIX 類をどれか入手し、それを自分のマシンにインストールし、動かすことです。

 ええもちろん、UNIX 以外にも世界にはオペレーティングシステムがあります。しかしそれらはバイナリで配布されているので、コードを読んだりいじったりできないんです。DOS や Windows マシンや MacOS でハッキングを学ぼうとするのは、ギプスをつけてダンスを学ぼうとするようなものです。

 そのうえ、UNIX はインターネットのオペレーティングシステムです。UNIX を知らなくてもインターネットの使い方は学べますが、UNIX がわからずにインターネットハッカーになることは出来ません。そういうわけで、現在のハッカー文化はかなり強く UNIX 中心となっています(昔からずっとそうだったわけではありません。だから一部の古参ハッカーは、現状を苦々しく思っています。でもUNIX とインターネットの共存は非常に強く、 Microsoft の力をもってしても、それを本気つぶすのはむずかしいようです)。

 だから UNIX をたちあげなさい——わたしは Linux が好きですが、他の方法もあります(そして、ええ、 Linux と DOS/Windows を同じマシンで走らせることは十分可能です)。UNIX を学びなさい。走らせなさい。いじりたおしなさい。それでインターネットと語りあいなさい。コードを読もう。コードを改変しよう。Microsoft のオペレーティングシステムでは夢見ることもできないほどよく出来たプログラミングツール(C や Lisp そして Perl など)が手に入ります。楽しいですよ。そしてあなたがマスターハッカーになってふりかえったら、この時期にどれほどの知識を自分が吸収したかようやく理解できるようになるでしょう。

UNIX の学習についての詳細はThe Loginatakaを参照のこと。

Linux を入手するは、Linux はどこで手に入る?を参照。

BSD Unix に関するヘルプや各種情報については、http://www.bsd.org/を参照。

(註:Linux でも BSD でも、素人さんは一人でインストールするのはおすすめしません。Linux なら、手近の Linux ユーザグループを見つけて助けてもらいましょう。あるいはLinux Internet Support Co-Operativeに連絡しましょう。LISC はアドバイスや援助が受けられるようなIRC チャンネルを持っています。)


3. World Wide Web を使う方法を学び、HTML を書きなさい。

 ハッカー文化の成果物は、ほとんどが縁の下で働くようにつくられてきました。工場や事務所や大学の運営を助けつつ、ハッカーでない人々の生活にはまるで直接的な影響をもたなかったのです。Web は唯一の大きな例外で、これはハッカーたちの巨大な輝くおもちゃなのに、政治家たちでさえそれが世界を変えているのを認めているのです。このためだけにでも(そしてそれ以外にもましな理由はいくらでもあります)Web の使い方は身につける必要があります。

 これはブラウザの使い方を覚えるだけの話ではありません(そんなのサルでもできます)。Web のマークアップ言語である HTML の書き方を覚えろということです。プログラミング経験がないなら、HTML を書けばプログラミングの勉強に役にたつ精神的な習慣が身に付きます。だから、ホームページをつくることです。

 しかしながらホームページを持つだけでは、ハッカーにはまだまだほど遠い状態でしかありません。Web はホームページだらけです。そのほとんどは無意味きわまる、まともな中身ゼロのうんこです——見た目は非常にかっこよさげなうんこだったりはしますが、それでもうんこはうんこなのです(詳しくは地獄の HTML ページを参照)。

 価値あるものにするには、ページにはまともな中身がなくてはなりません。それは他のハッカーたちにとって興味をひき、そして/あるいは有益なものでなければなりません。という話が出たところで、話題は次に進みます……



V. ハッカー文化での地位

 貨幣経済を伴わない文化にはよく見られることですが、ハッカー社会では名声で地位が決まります。おもしろい問題を解決しようとしていても、それらがどれほどおもしろく、また、あなたの解決方法が本当に素晴らしいかどうか判断できる力があるのは、ふつうは技術上の仲間や先輩たちだけなのです。

 ですからハッカーゲームに参加したら、他のハッカーたちがあなたの技能をどう思うかでスコアをつけることを覚えます(だからこそ、他のハッカーたちがたえずあなたをハッカー呼ばわりするまで、あなたは本当のハッカーではないのです)。ハッキングは孤独な作業というイメージがあるので、この事実は見えにくくなっています。またエゴや外からの評価がハッカーとしての動機づけに関係しているということを認めることに対して、ハッカー文化にはタブーがあり(現在ではしだいに弱まっていますがまだ根強くあります)、このせいで見えにくくなっている面もあります。

 具体的には、ハッカー社会というのは人類学者が言うところの贈与の文化なのです。そこで地位と名声を得るには、他の人々を力で支配したり、美しかったり、他の人々が欲しがるものを持っていたりしてもだめです。何かをあげてしまうことで、地位と名声を得るのです。具体的には、時間と創造性、そして技術の成果をあげてしまうことで、評判を得るのです。

 ハッカーたちから尊敬されるためにできることは、基本的に 5 つあります。


1. オープンソース・ソフトウェアを書く

 まず初めに(最も主要で、もっとも伝統的なことですが)他のハッカーたちが喜ぶ有益なプログラムを書くことです。そしてハッカー文化のみんなが使えるように、そのプログラムのソースをあげてしまうことです。

(むかしはこの種のソフトを「フリーソフト」と呼んでいましたが、「フリー」の意図する意味がよくわかっていない人たちが多すぎて混乱してきました。私たちの多くがいまではオープンソース・ソフトという用語の方を好みます)。

 ハッカー社会での最も神格的な英雄は、大規模で役に立つプログラムを書き、それが広範なニーズに応えていて、しかもそれを無償でばらまいてくれて、だからみんながいまやその人の書いたソフトを使うようになっている、そんな人です。


2. フリーソフトウェアのテストやデバッグを手伝う

 さらにハッカー社会は、オープンソースのデバッグに立ち上がる人も賞賛します。この世は不完全なので、ソフトウェア開発のほとんどの時間はデバッグに費やされます。だからこそ、物を考えているオープンソース・ソフトの作者たちは、良いベータテスタ(症状を明確に表現できて、問題のある箇所を特定し、急ごしらえのリリースのバグにがまんできて、ある程度の診断テストをしてくれる人)は体重分のルビーにも匹敵する価値があると言うわけです。以上の条件の一つでも満たされていれば、バグ取り作業が際限なく続く悪夢になるか、ちょっとした軽い面倒事程度ですむかの分かれ目になり得るのです。

 あなたが新米なら、興味が持てる開発途中のプログラムを見つけて、よいベータテスタになりなさい。プログラムのテストを助ける段階から、そのデバッグを援助する段階、そしてプログラム自体の改変を援助する段階へと自然に進むでしょう。こうすればたくさんのことを学べるし、あとでいろいろ手助けをしてくれるはずの人々ともよい縁(カルマ)をつくりだす役にもたつはずです。


3. 有益な情報を公開する

 これまたよいことは、役に立つおもしろい情報を集めて選り分け、それをWebページにしたり、あるいは FAQ (Frequently Asked Questions lists)のような文書にすることです。そしてそれらを一般公開することです。

 大事な技術 FAQ 類の維持管理者は、オープンソースの作者とほとんど同じくらい尊敬を得られます。


4. インフラが機能し続けるように手伝う

 ハッカー文化(さらに言うとインターネットの技術的開発)はボランティアが運営しています。それを機能させるためには、必要ながら陽の当たらない作業をたくさんやらなくてはならないのです。たとえば、メーリングリストを管理したり、ニュースグループの議長を勤めたり、アーカイブサイトで大きなソフトウェアを維持したり、RFC 類やその他技術的な標準を開発したりするようなことです。

  このような種類の仕事を立派にこなす人々は多大な尊敬を受けます。このような仕事が時間ばかり食って、しかもコードで遊ぶほど楽しくないのをみんな知っていますから。それを引き受けるのは献身ぶりを示すことになるわけです。


5. ハッカー文化そのものへの貢献

 最後に、あなたは文化そのものに貢献しそれを広めることができます(たとえば、ハッカーになる方法についてちゃんとした入門文書を書いたりして :-))。このような仕事は、あなたがいろんな経験をし、そしてこれまでの4項目のどれかで名をあげるまではできるものではありませんが。

 ハッカーの文化には、はっきりした指導者はいませんが、文化ヒーローや部族の長老や歴史家や伝承者がいます。戦場でそれなりの時間を過ごすうちに、あなたもその一人へと成長するかもしれません。ただしここで注意! ハッカーは、部族の長老がエゴをむき出しにすると信用しません。だからこの種の名声をはっきり目指すようなまねは危険です。名声を得ようと努力するのではなく、うまく立ち回ってその名声が自然にやってくるようにしなくてはなりません。そして名声を得ても、自分の地位について謙虚で好意的でありなさい。



VI. 「ハッカー」と「おたく Nerd」との関係

 有名な言い伝えがなんと言おうとも、ハッカーになるのに「おたく」である必要なありません。とはいえ、おたくのほうが好都合なのは事実だし、多くのハッカーは確かにおたくです。社会のつまはじき状態のほうが、本当に重要なことに集中しやすいわけです。考えるとかハッキングするとかね。

 このため、多くのハッカーは「おたく」というレッテルを受け入れていますし、もっときつい「geek」という言葉さえ、誇りをこめて使います。それは自分が普通の社会的期待から自由だと宣言する方法の一つなのです。詳しくはThe Geek Pageを見てください。

 上達するほどハッキングに集中できて、しかも一方でまともな社会生活が送れるというのなら、それはそれで結構なこと。これはわたしが新米であった1970 年代頃に比べると、現在ではずっと簡単です。主流文化は現在では技術おたくにずっと好意的になっていますから。ハッカーがとても素晴らしい恋人や伴侶になることだって多いと気づいた人たちは、実はだんだん増えているのです。詳しくは「女の子のためのおたくガイド」を参照。

 まともな社会生活がおくれないのでハッキングに魅力を感じるなら、それもまた結構——少なくとも、気が散って困るようなことはないわけですから。それにまあ、いずれ社会生活のほうもなんとかなるかもしれないじゃないですか。



VII. ハッカースタイルの要点

 もう一度いいますが、ハッカーになるためにはハッカー精神を身につけなければなりません。コンピュータの前にすわっていない時にもハッカーになるのに役立つことがいくつかあります。以下にあげることは、ハッキングそのものの代わりにはなりません(そんなものはあるわけがない)。でも多くのハッカーは以下のようなことをやっていますし、それがハッキングの真髄に本質的に通じるものがあると感じています。

 これらのうち、すでにやっていることが多ければ多いほど、あなたのハッカー的資質も高いはずです。なぜよりによってこういう事柄なのかは、まだ完全には明らかではないのですが、いずれも右脳能力と左脳能力の組み合わせという点で結びついています。どうもこれが重要らしいのです(ハッカーは、論理的に理屈づけると同時に、問題の理屈の外へ一瞬で踏み出す能力が必要なのです)。

 最後に、次のようなことはしてはいけません

 こんなことをしたら、評判を落とすだけです。ハッカーたちは記憶力がいいんですよ。かつての愚行を忘れて受け入れられてもらえるまで、何年も苦労する結果になりかねません。



VIII. その他の関連文書

Peter Seebach はハッカーの扱い方がわからない管理職向けのすばらしい Hacker FAQを維持しています。

Loginataka は、Unix ハッカーの正しい修行と心構えについていろいろ述べています。

わたしはほかにハッカー社会小史 A Brief History Of Hackerdomを書いています。

またThe Cathedral and the Bazaar という論文(邦訳「伽藍とバザール」)では、 Linux とオープンソース文化がどのように機能するかについていろいろ説明しています。このテーマについてもっと直接的に扱ったのがThe Homesteading the Noosphere という論文(邦訳「ノウアスフィアの開墾」)です。



IX. FAQ

Q: ハッキングの方法を教えてください。

 このページを公開してから、「ハッキングのすべてを教えてください」というお願いが週に数通も舞いこみます。残念ながら、私にはそれだけの時間もエネルギーもありません。なにせ自分自身のハッキングプロジェクトで、時間の 110% が使い果たされますので。

 たとえわたしにそれだけの時間とエネルギーがあったとしても、ハッキングというのは基本的には自分で身につけなくてはならない姿勢であり、技術なんです。真のハッカーたちはあなたを助けようとしてくれますが、知っていることを何もかも手取り足取り教えこんでくださいなんてお願いしたところで、バカにされるだけです。

 まず何かを2、3でいいから身につけること。自分が努力していて、自分で学ぶ能力があることを示しなさい。それから出会うハッカーたちに質問するように。

Q: システムのクラックを手伝ってください。あるいはクラックの方法を教えてください。

 お断り。この FAQ を読んだ後で未だにこんな質問が口に出せる人間は、教育不能なほどバカに決まってるからです。そもそもわたしににそんな暇があったとしてもね。この手のお願い電子メールがきたら、すべて無視されるか、あるいはすさまじく無礼な返事が戻ることになるでしょう。

Q: どこで真のハッカーたちと話すことができますか。

 一番よいのは UNIX あるいは Linux のユーザーグループを見つけ、会合に参加することです(Sunsite の LDP ページ にいくつかユーザグループのリストがあります)。

(むかしは IRC にハッカーなんかいないよ、と言ったものですが、でもこれはかわりつつあるそうようです。GIMP なんかのからみではどうやら本物のハッカーコミュニティができてますし、Perl もいまでは IRC チャンネルをもっています)。

Q: 最初にどんな言語を学んだらいいでしょうか。

 あなたがまだ知らないなら、まずは HTML です。けばけばしい、大風呂敷まみれの、ろくでもない HTML 本はいくらもありますが、いい本はげんなりするほど少数です。わたしが勧めるベストは、HTML: The Definitive Guideです。

 プログラミングに手をつける準備ができたら、Perl あるいは、Python から始めることを勧めます。C はとても重要ですが、でもずっと難しいです。

Q: でもオープンソース・ソフトだと、プログラマは食べていけなくなるんじゃないですか?

 そういうことはなさそうです——いまのところ、オープンソース・ソフト産業は仕事をなくすよりは作り出しているようです。あるプログラムが書かれることが、書かれない状態にくらべて便益が増すのであれば、そのプログラムがあとでフリーになろうとなるまいと、プログラマは支払いを受けるでしょう。そして「フリー」ソフトがいくら書かれても、新しいカスタマイズされたソフトの需要はどんどん出てくるようですよ。これについては、オープンソースのページでも書きました。

Q: どこから手をつけたらいいですか。フリーの UNIX をどこで入手できますか。

 このページのあちこちに Linux を入手するためのポインタを入れてあります。ハッカーになるには、自分を教育する意欲と自主性と能力が必要です。さあ、それをいますぐ発揮して……

Version $Date: 1999/07/03 01:52:32 $

Eric S. Raymond (esr@thyrsus.com)


原訳謝辞:

日本語訳は Linux-JF プロジェクトの次の方々から多くのご助言を頂きました。

山崎さん (hiro@koneeko.linux.or.jp)、 岡本さん (ikko-@pacific.rim.or.jp)、 落海さん (ochiumi@ibm.net)、 Hiro Sugawaraさん (hiro@arkusa.com)、 土屋さん (tsuchiya@pine.kuee.kyoto-u.ac.jp)、 花高さん (hanataka@abyss.rim.or.jp)、 遠藤さん (hermit@super.win.or.jp)、 かもさん (kamo@math.titech.ac.jp )、 中野さん (nakano@apm.seikei.ac.jp)、 M. Meiarashiさん (mes@st.rim.or.jp)、ありがとうございます。

原訳:中谷千絵 jeanne@mbox.kyoto-inet.or.jp 1997/09/01
改訳:山形浩生 hiyori13@mailhost.net


山形浩生 hiyori13@mailhost.net