連載:ハッカーの系譜⑦ビル・ゲイツ (2/7) タダでコンピューターを使いたい!

牧野武文

August 16, 2016 10:00
by 牧野武文

コンピューター・センター・コーポレーション(CCC)社は、数台のミニコンを保有し、企業や公的機関に使わせ、CPUタイム料金を徴収するビジネスをおこなっていた。CCCの営業マンがレイクサイドスクールにもやって来て、GE社のサービスよりも格安でCPUタイムが利用できることを売りこみ、導入が決まった。

レイクサイド・プログラマーズ・グループの4人は、CCCのサービスに夢中になった。CCCのミニコンは、GE社のサービスと同じPDP-10だったが、チェスを始めとするさまざまなプログラムが用意されていたからだった。4人は、最初はそのようなプログラムを実行させて楽しんでいたが、すぐにソースコードを開いて、プロの仕事から多くのことを学んでいった。あまりにも夢中になるので、CPUタイムは膨大なものとなり、格安なサービスといっても請求額はあっという間に高額になっていった。

この負担をなんとかしようと、4人はハッキングをすることにした。思いつく限りのパスワードを入力してみると、うまいこと管理者のパスワードを探りあててしまった。しかし、そのまま管理者としてアクセスし続けてPDP-10の中で遊んでいたら、すぐに発覚をしパスワードを変えられてしまうだろう。

それよりも、管理者権限を利用してPDP-10の中でなんらかの細工をするべきだ。ゲイツは、アカウントとパスワードが保存されているファイルを開いて、課金がされない無料アカウントを見つけようと考えた。ところが、パスワードファイルはしっかりと暗号化されていて、中を読むことができない。ゲイツは、暗号化を解除する方法を後で見つけようと考え、パスワードファイルを自分の作業ディレクトリーにコピーしておいた。

しかし、このいたずら……社会的には犯罪にあたる行為はすぐに露見した。CCCはレイクサイドスクールの校長に報告をし、4人は校長室に呼びだされた。「君たちは6週間、コンピューター室の利用を禁止する。同じことを繰り返したら、次は警察を呼ぶ。君たちがやったのは犯罪行為なのだ」と告げられた。

4人は軽いいたずらのつもりだったが、おおごとになっていることに身をすくませた。これ以降、4人は法に触れるような行為は二度としようとしなかった。しかし、合法的な範囲でのいたずらは相変わらずだった。

PDP-10をクラッシュさせる技を発見

CCCのPDP-10では、TOPS-10という最新のOSが動いていた。ところが、このTOPS-10はまだバグが多く、しばしばクラッシュすることがあった。ゲイツが、以前作成したBillというファイル名のプログラムをロードしようとしたときも、TOPS-10がクラッシュしてしまった。

しばらくして、TOPS-10が復旧をしたので、再度Billを読み出そうとすると、見たことがないメッセージがテレタイプに印字された(この当時、現在のようなモニターディスプレイはまだ普及してなく、画面表示はすべてプリンターのようなテレタイプに印字されるのが普通だった。そのため、大量の紙を消費した)。
 
New or Old Program?(新しいプログラムか、古いプログラムか?)
 
ゲイツは、
 
Old Program
 
と入力した。すると、また初めて見るメッセージが印字された。
 
Old Program Name?(古いプログラムの名前は?)
 
ゲイツはこう入力した。
 
Old Program Name is Bill(古いプログラムの名前はBill)
 
すると、PDP-10はクラッシュしてしまった。

イラツキながら、復旧を待って、同じことを繰り返すと、やはり「Old Program Name is Bill」と入力したところでクラッシュする。ゲイツは、小躍りして喜んだ。「PDP-10をクラッシュさせる方法を発見した!」。ゲイツはPDP-10が復旧すると浮き浮きして、この方法でクラッシュさせ、3人の前でも実演してみせた。

初めての仕事、報酬は「CPUタイム」

CCC社のPDP-10担当のエンジニアたちは、パニックになっていた。元からTOPS-10のシステムにはバグが多く、クラッシュすることはよくあったが、それにしてもここのところ、毎日クラッシュしている。CCC社はCPUタイムを販売しているのだから、これでは商売にならない。ならないどころか、顧客からはプログラムを実行中にクラッシュした、編集してたプログラムを保存する前にクラッシュしたというクレームが多数寄せられていた。

CCC社のエンジニアたちは、すぐに原因を特定した。「Old Program Name is Bill」という命令が、TOPS-10が許容する1行あたりの文字数の制限を超えていたためクラッシュしたのだ(正しくは、ただBillとだけ入力すべきだった)。これは仕様とも言えるし、不親切なバグであるとも言える。CCC社が立派だったのは、顧客のためにこの問題を改善しなければならないと決断したことだ。TOPS-10のシステムを修正して、このような「バグ」をフィックスすることにした。

TOPS-10にはこのようなバグが数多く存在していた。しかし、エンジニアたちがそれをすべて把握できているわけではない。そこで低賃金でバグハンターを雇おうと考えた。利用者がほとんどいなくなる深夜と週末、PDP-10をさまざまに使ってもらい、バグを発見したら報告してもらう。そういうアルバイトを雇おうと考えた。

だれを雇うべきだろうか。Billに決っている。CCCはレイクサイドスクールに連絡を取り、コンピューター室に入り浸っているレイクサイド・プログラマーズ・グループを中心とした生徒たちに声をかけた。夕方、CCCにやってきて、PDP-10を自由に使っていい。その代わり、バグを発見したら報告書を書くこと。ゲイツはこの仕事に飛びついた。もう、CPUタイムの請求のことを考える必要がなくなるからだ。

ゲイツは、この仕事でも「いちばん」になろうとした。毎日CCCに通い、ありとあらゆるバグが起きそうな操作を試してみた。学校が終わると、急いで家に帰り、食事をとり、バスでCCC社に行く。仕事が終わるのは真夜中近く。すでにバスはないので、親たちの誰かが車で迎えにくるようになった。夜中に家を抜けだして最終バスでCCC社に行き、朝までコンピューターで遊び、朝方2時間ほど歩いて家に戻り、ベッドの中に戻ることもあったという。

ゲイツは、この時期に不眠不休でコンピューターに向かい、プログラマーとして実践的な知識やテクニックを身に着けていった。問題点報告書は、半年で300ページを超えた。そのほとんどがゲイツによる発見で、第2位はアレンだった。このとき、ゲイツは中学3年生だった。

深く関わったわけではないようだが、このCCCにはPDP-10を利用するために、ゲイリー・キルドールがたびたび訪れていた。キルドールはこのとき、20代半ば、ワシントン大学の大学院生で計算機科学を専攻していた。キルドールは、後にシングルタスクのオペレーティングシステム「CP/M」を開発し、ゲイツの大きなライバルとなる。

教室には居場所のないゲイツ

父であるビル・ゲイツ二世と母であるメアリーは、最初のうちはゲイツにとっていい社会勉強になると協力的だったが、しだいに心配し始めた。バグハントに夢中になっているゲイツは、深夜になっても仕事をやめようとしなかった。食事は、テイクアウトしたハンバーガーとコーラばかりになり、シャツはいつもしわくちゃで、強く言わないと着替えようとさえしなかった。きれいな金髪は、親の自慢だったが、それもシャワーを浴びないものだから、輝きが失われ、甲虫のような油染みた光を放っていた。人と会うのを避けるようになり(ゲイツにとっては時間が惜しかった)、そろそろ興味をもっていいはずの女の子に対してもまったく興味を示さなかった。

ゲイツ二世は、決断をして、いつになく強い言葉でゲイツに告げた。「しばらくの間、コンピューターに触ることを禁止する」。ゲイツは、父の言葉に素直に従った。

中学の終わりから高校生になるほぼ1年間、ゲイツはコンピューターに触らず、科学や数学の勉強をし、小説を読むようになった。健康的な生活を取り戻した。

しかし、学校ではとっくに浮いた存在になっていた。同級生たちが集まってなにかを話しているとき、ゲイツが何かを言うと、全員が口を閉ざしてしまう。ゲイツが図抜けて頭がいいことは誰もがわかっていた。しかも、ゲイツの口調は常に攻撃的だった。「お前はバカなの?」ーーそれがゲイツの口癖だったと、当時の同級生は回想している。「もし、普通の公立校だったら、ゲイツは間違いなく袋叩きにあっていただろう」。レイクサイドスクールは、富裕層の子弟が集まる学校であり、なおかつ「寛容」「他者の人格」を尊重する校風だった。それがあるために大きな事件にはならずにすんでいた。

しかし、ゲイツ自身も、もう教室の中には自分の居場所がなくなっていることに気がついていた。自分の居場所はコンピューター室にしかないのだ。

僕は30歳までに億万長者になる

1年後、父親との約束を破って、ゲイツは再びコンピューター室に足を運ぶようになっていた。やはり、ゲイツの居場所はコンピューター室だったのだ。

コンピューター室に入ると、懐かしい仲間たちが相変わらずたむろっていて、電話のタダがけ機械「ブルーボックス」の作り方を教えて回っているキャプテン・クランチの話をしていた。みな、目を輝かせて、キャプテン・クランチをヒーローとして話している。ゲイツは、自分の居場所はやはりここなのだと感じたという。

そして、仲間たちと再びいたずらを楽しんだ。夏休みにシアトル銀行でアルバイトをした同級生が「生まれて初めて1000ドル札を手にした」という話をした。そういえば、ゲイツも1000ドル札というのは手にしたことがなかった。ゲイツは、溜めこんでいた20ドル札50枚をもって、仲間のところにいき、一緒に銀行にいって、1000ドル札に両替してもらった。

そして、バーガーショップ「ディックス」に行き、チーズバーガーとフライドポテトを注文した。値段は1ドル以下だ。ゲイツはレジ係に1000ドル札をだした。レジ係の女性はびっくりして、店長を呼んだ。店長も驚いて「小さな紙幣はないでしょうか?」と尋ねてきた。「ないんです、これしか」。お釣りが用意できず、困り果てる様子を楽しんだのだ。

この頃から、ゲイツは自分の将来について口にするようになる。「僕は30歳までに億万長者になる」。仲間たちのほとんどがゲイツのそのきっぱりとした口調の言葉を耳にしているし、仲間たちのほとんどが「ゲイツならやり遂げるだろう」と感じたという。

報酬はCPUタイムではなく金銭で

しかし、この時までゲイツはお金を1セントも稼いだことがなかった。CCCの仕事の報酬はお金ではなくCPUタイムだった。ゲイツがコンピューターから離れている間に、CCCは倒産してしまい、アレンはワシントン州立大学に進学していた。ゲイツはアレンが通うワシントン州立大学を訪ねて、学内で無料で使えるコンピューターを探しまわっていた。

そのとき、レイクサイド・プログラマーズ・グループ宛に、うってつけの仕事のオファーが舞いこんだ。インフォメーションサイエンス社(ISI)は、CCCと同じく、自社保有のPDP-10のCPUタイムを販売していた。このISIから、4人に「ある会社の給与計算システムのプログラムを書けないか」という打診があったのだ。使用する言語は、BASICではなく、金融系でよく使われるCOBOLだった。ゲイツにとってはあまりよく知らない言語だったが、すぐにコツをつかみ、プログラムを仕上げた。報酬はここでもお金ではなく、無料のCPUタイムだった。

1時間の労働で5ドル分のCPUタイムがもらえる契約になった。4人は、半年で1575時間分のCPUタイムを稼ぎだした。半年間、4人で毎日2時間ほどは利用できる量だ。金額にして2万5000ドル相当になる。

ゲイツはこの仕事で、実用的なプログラムを開発するには、プログラミング知識以外のことも必要になることに気がついた。とくに州税や源泉徴収、医療費控除の仕組みは、ゲイツにとっても馴染みがなく、専門家や税務署に確認をとって、それをプログラムに組みこまなければならなかった。このような仕事に対する報酬がCPUタイムというのはおかしいのではないかと思い始めた。コンピューターの知識を使って、コンピューターを自由に使わせてもらって仕事をするなら、報酬はCPUタイムでも理にかなっている。CPUタイムはゲイツがもっとも欲しいもので、ゲイツにとっては一種の通貨だった。しかし、プログラミング以外のことに時間を割かれるとなると、その報酬は、やはり金銭であるべきなのではないか。

ゲイツ、初めてのビジネス交渉

レイクサイド・プログラマーズ・グループがどこまで真剣に仕事をしたかどうかは怪しい。なぜなら、開発が始まって半年経ったところで、ISIは契約を解除したいと言ってきたのだ。開発の進行状況が大幅に遅れている上、途中まで仕上がっているドキュメント類がとても水準に達しているとは言えないと判断された。やはり、高校生に給与計算プログラムは難しかったのかもしれない。ISIは、今までできあがったコードを引き取って、別の「プロの」プログラマーに仕上げを依頼する代わりに、4人の高校生がコンピューターでこれ以上遊ぶことをやめさせたかった。

ところが、ゲイツは、この申し出に奮然と抗議した。金銭報酬を得てもおかしくない仕事をしているのに、ISIはCPUタイムだけしか支払わない。我々は利用されたのだと考えた。そこで、ISIの2人の役員との話し合いの場がもたれ、ISIは時給を支払うことを提案してきた。その額は、高校生のアルバイトにしては充分すぎるほどの額だった。しかし、ゲイツは突然大人の顔になって「著作権使用料方式にしてほしい。我々が開発したプログラムから、ISI社が得られる利益の10%を支払ってほしい」と主張したのだ。

ISIの役員は憤慨した。レイクサイド・プログラマーズ・グループの能力を認め、高校生のアルバイトとしては法外に高い賃金を提示している。それは、彼らに対する優しさでもあった。しかし、この子どものような顔をした高校生は、大人顔負けの欲張りな主張をしてきたのだ。そもそも、この高校生に「著作権使用料」などということがきちんと理解できているのだろうか。

ISIの役員が、そう主張する理由を尋ねてると、ゲイツはこう答えた。「この方式であれば、ISIは資本を有効に活用することができますよ」。つまり、あらかじめ開発コストが計算できるので、他の分野に資金を有効に使うことができるというのだ。自分のメリットを語るのではなく、取引先のメリットを提案する。そういうビジネス感覚をもっている高校生の存在に、ISIの役員は驚いた。

驚いたことに、契約を交わす段階になると、きちんとした契約書を作ってきて、さらには法律顧問までいた。法律顧問の名前は、ビル・ゲイツ二世。いい加減な人物ではないどころか、シアトルのビジネス界では知らない者がいないほどの有名弁護士だった。
 
(その3に続く)




ハッカーの系譜(10)マービン・ミンスキー (10) 多層化することで問題を解決

March 30, 2017 08:00

by 牧野武文

多層化することでXOR問題を乗り越えられる パーセプトロンの第1の進化は多層化だ。ミンスキーが指摘したように、パーセプトロンはXORの論理演算結果を学習することができない。前回示したように、XORの演算結果は線形分離不可能、つまり直線で真と偽のグループにわけることができないからだ。 しかし、実はちょ…

POSマルウェアの恐怖 (4) クレジットカード番号が顧客番号や業務処理のキーとして活用される

March 29, 2017 08:00

by 牧野武文

  ・POSマルウェアの恐怖(1) PCI DSSに準拠しても防げない? 狙われるPOSシステム ・POSマルウェアの恐怖(2) カード情報が平文で通信されるシステム ・POSマルウェアの恐怖(3) カード情報を全プロセスで暗号化する「PCI P2PE」はPOSマルウェア攻撃を防げるか POSレジを…

IoTヌイグルミは口が軽い!? ユーザー情報82万件がダダ漏れに(後編)

March 28, 2017 08:00

by 江添 佳代子

  →IoTヌイグルミは口が軽い!? ユーザー情報82万件がダダ漏れに(前編) →IoTヌイグルミは口が軽い!? ユーザー情報82万件がダダ漏れに(中編) 何も知らされていなかったユーザー ここでいったん時系列を確認しよう。ハントやロレンゾに情報を提供した人物がCloudPetsへの連絡を試みたのは…

中国で9億アカウントが利用する「WiFi万能鍵」が1308種類の偽アプリを一掃

March 27, 2017 10:30

by 牧野武文

『中国経済網』の報道によると、中国で大人気のアプリ「WiFi万能鍵」を開発した上海連尚科技有限公司は、今年3月までに、1308種類の偽アプリを一掃したと発表した。 アカウント数9億件を超える無線LANユーティリティーソフト WiFi万能鍵は、公衆無線LANに自動接続するAndroid・iOSアプリ。…