Open Source Magazine 2006年2月号 ハッカー養成塾 記事

「ハックの一歩は楽しむことから」

これは、Open Source Magazine 2006年2月号に掲載した、リレー形式の連載・ハッカー養成塾に書いた記事 「ハックの一歩は楽しむことから」を元に HTML 化したものです。 編集前原稿のため、また枚数オーバしてしまったため、掲載紙面の内容とは構成・内容が 異なっています。


プロフィール:

Debian Project/Debian JP Projectオフィシャル開発者。Linuxカーネ ルnsp32ドライバメンテナ。GNU C Library開発やGNU Translation Project、www.linux.or.jpチームなどに参加。YLUG発起人。オープンソー スソフトウェア開発に関わって7年ほど。最近はDebianがサポートする 各種アーキテクチャのメンテナンスなどを行っている。


■ オープンソースに興味を持ったきっかけ

今で言うオープンソースソフトウェアに、私が最初に興味を持ったのはgcc(*)が有志の手 によってX68000(*)用に移植され、書籍として発売された(*)ときである。当時高校生だっ た私には、メーカー提供のXCは高価でなかなか購入できなかった。だから、入手したとき は大変に興奮した。あこがれのCコンパイラがユーザの力で作成・移植され、しかもGPLと して提供される。開発環境がフリーソフトウェアであるすごさやありがたさを、そのとき 強く感じたことを覚えている。

その後、PC/AT上のLinuxを使いはじめた私は、日本語環境を実現する上で必須の機構であ るロケール(*)に関心を持つようになった。Xロケールに代わって実装されつつあった glibc(*)のロケール機構は、まっとうな日本語ローカリゼーションをC言語プログラムで 実現できるからである。その頃ちょうど、linux-techメーリングリストにおいて ja_JP.eucJP制定作業(*)が議論されており、私も引き寄せられるように参加した。

■ Debianメンテナとして

現在私は、Debianプロジェクトオフィシャル開発者として、20数個のパッケージの他に glibcパッケージをメンテナンスしている。glibc関連をメンテナンスするようになったきっ かけは、元DebianプロジェクトリーダーでもありメンテナだったBen Collins氏が多忙を 極めており、新しいパッケージャを募集していたことであった。ロケールに興味を持って いた私は、すぐさま氏と連絡をとって作業に参加したのである。さらに、Debianでのサポー トが縁となって、glibc本体の開発にも参加するようになった。

glibcを含むツールチェイン(*)は、カーネルとともにすべてのプログラムの生成・実行に 関係する重要なソフトウェアである。特に、Debianでは他のLinuxディストリビューショ ンでは例を見ない13アーキテクチャ(*)をサポートしており、それらすべての上で問題な くアプリケーションが動作しなければならない。そのため、リリースマネージャやコアパッ ケージメンテナと頻繁に連絡をとりながら、注意深く作業にあたっている。

こうして振返ってみると、私はglibcやカーネル、ディストリビューションなどシステム を支えるソフトウェア全般に関心があるのだろうと思う。

■ Linuxカーネルドライバの開発

システムを支えるソフトウェアという観点から言えば、Linuxカーネルにも興味を持って いる。カーネルに関連するパッケージをDebianでメンテナンスしていることもあり、不具 合や改善点など気付いた点は、パッチをLKML(*)やメンテナなどに投げるようにしている。

また、Linuxカーネルソースツリーに入っているNinjaSCSI-32Bi/UDEドライバ(*)を、横田 氏と共同で開発・メンテナンスしている。ドライバの開発過程では、SCSIの各種文献 (SCSIの解説書(*)やt10.org(*)から提供される仕様書など)やレジスタマップなどとに らめっこしながら試行錯誤したものである。ドライバ開発の面白いところは、何と言って も動かないデバイスが目に見えて動き始める点だ。実に結果が分かりやすいし、何より購 入したデバイスがちゃんと自分の役に立つというオマケまでついてくる。

開発中に感じたことは、ハックにおいて、取り組んでいる分野に関する良書や資料が与え てくれる知識は大変重要である、というある意味当り前の事実である。名著とされる本を 読むと、視界が広がる感覚さえ覚える。コンピュータの各種知識は相互に関連していて、 ある分野の深い知識は、他の作業においても役立つことが多い。残念ながら、プログラマ の多くは、コンピュータの専門書を年間1冊さえ読まないと言われている。しかし、本屋 に行けばありがたいことに日本語で多くの良書を手に入れることができる。少しでも興味 を持った書籍があったら読まない手はない。いつかきっと、ハックを支える土台をなして くれるだろう。

■ ハックとコミュニケーション

ハックは、一人きりですべて完結することは少ない。実装やバグについて、インターネッ トを介して様々な人と話し合う機会があるはずだ。凄腕のハッカーが必ずしも話上手とい うわけではないし、時には意見がぶつかることもある。それでも、建設的なコミュニケー ションを忘れずにいることが大切ではないだろうか。お互いの対話から素晴らしいハック を呼び起こすという経験は、ハッカーなら誰でもお持ちではないかと思う。

また、ハックに国境の壁はない。その分、話者の多い英語を使う機会も必然的に多くなる。 周りのハッカー諸氏を見ても、その多くは英語が上手だと思う。参考までに、私は大量メー ルの読み書きやIRC上での議論の際は、マウスでなぞった単語の辞書引き結果を、リアル タイムにポップアップウィンドウへ表示させるソフトウェア(xyakuやebviewなど(*))を 使うことで、語彙力不足を補っている。英語にお困りの方は、こういったツールを試して みてはいかがだろうか。

■ ハッカーと会ってみる

時には、実際に手を動かしているハッカーと直接会って、様々なハック話に盛り上がるの も良いことだ。アイデアや有用な情報が得られるし、大いに発奮させられることもある。 下がってしまったモチベーションに再び火を灯したい時には、特に効果的だと思う。

そのように考えていたこともあって、首都圏に多くいるLinuxユーザが楽しみながら技術 について話せるような交流の場、YLUG(横浜Linuxユーザーズグループ(*))を1999年に立 ち上げた(横浜中華街で舌鼓を打ちたかったというのも半分はあるのだが)。当初は10人 程度で始まったYLUGであるが、その後数百人が参加するユーザーズグループとなった。ほ ぼ毎月開催されているYLUGカーネル読書会も、もうすぐ60回を数えようとしている。私に とって、毎回様々な開発者やハッカーをお招きして開発動向を聞くことができる大変貴重 な機会の一つだ。

■ 最初の一歩は、楽しむことから

ハッカーの定義は人によって様々であろうが、月並みながら私は「驚きや敬服の念を与え る開発者」であると思っている。そんなハッカー達でも、ハック力の源泉は「楽しむ」こ とではないだろうか。かく言う私も、オープンソースソフトウェア開発に携われることを、 大変楽しんでいる。何より、つまらなかったら長続きしないだろうしね。

また、ハックは知的な楽しみを求める自由な心から生まれるのではないかと思う。ハッカー になってみたいと考える方には、まずは楽しんで何かやってみることをおすすめする。ハッ カーにも様々なタイプの人がいて、各人それぞれの「ハックスタイル」や得意分野がある。 触っていくうちに、足りないところや欲しい機能などについて、自分だけが気付く「ハッ クチャンス」が到来するはずだ。しかも、そのときに必要なものと言ったら、少しの気力 と睡眠時間を削ることくらいなのだ。ただし、健康には気をつけて欲しい。「ハックは健 全な心身にこそ宿る」のだから。

■ 次回の講師

さて、次回の講師は、鵜飼文敏氏にご登場願おう。氏は、Debianを含めさまざ まなオープンソーすソフトウェアの開発や普及に関して、活動を行っておられ る方だ。


注釈
発表・出版・論文等のリスト
Top Page
GOTO Masanori <gotom at sanori dot org>