昔 男ありけり
長じて ソフトウェア開発の技術者となる
グリーンベレーとして顧客の所に向かう途中、空港で、
ソースプログラム一式が入ったトランクを紛失する
数年後、偶然にもその行方が分かった。‥‥ムム 驚いた!
「技術者を派遣して欲しい」という緊急の連絡が東芝に届いた。技術提携しているH社に駐在している社員からの連絡である。アメリカの顧客に東芝のPL/Iをリリースしたらトラブルが発生したという。
それを聞いて私は少し腹が立った。東芝が作製したものをH社が東芝に無断でアメリカの利用者にリリースしてしまったらしい。
今、私が関係しているのは PL/I というプログラム言語の処理系を開発する仕事をしているのだ。それを作製するための記述言語をまず作る。それを作るためにボストンにあるH社の場所を借りたことはあるが、彼らは「アメリカではPL/Iの要求はない」と手を引いてしまった。それなのに、無断で使ってうまくいかないからと助けを求めてくる。普通ならあり得ないことである。
どう対応すべきか、部長が電話で東芝本社と相談している。「フェニックスからグリーンベレーを送って欲しいと‥‥」という声が聞こえる。
私はグリーンベレーという表現をこのとき初めて知った。グリーンベレーとは、アメリカ陸軍の特殊部隊の通称で、隊員は緑色のベレー帽を着用することで知られている。コンピュータ業界でも顧客で何か問題が発生すると、部隊を送り込むことがある。それを「グリーンベレーを送る」と表現するようになった。
ここでフェニックスというのはH社の米国にあるコンピュータ製造工場の場所のことである。そこには何度も行ったことがあるが、顧客の方は、広いアメリカのことであるから何処になるかは分からない。できればそんなところに出かけて行かずに済ませたいものだ。
顧客への対応は本来ならSEの役割であるが、重要顧客先で何かトラブルが発生したときは特別チームを編成して対応する。H社からの要請だから簡単に断ることはあり得ない。顧客へ派遣されることになったらどうするか心配である。
こういう場合、使われているシステムに詳しい人を派遣しないと意味がない。一番詳しいのは普通は開発者であるが、私が対応していたのは大型機のシステムなので分担が複雑に絡み合っているから誰を派遣すべきかの人選が難しい。安全をとって多人数になることもある。ただし、技術面以外の顧客との対応は、礼を失することがないように必ず専任者が付いて來る。その人を通して顧客と交渉することになる。
結局、本社の許可が降りH社の依頼を引き受けることになった。取りあえず派遣するメンバーとして、開発チームから私を入れて3人が行くことになった。部長からは、できるだけH社の人に世話をかけないよう“何でも自分でやる”ようにと指示された。
▼持参する物の準備
早速、何を持参するかを検討し以下の物をそろえることにした。
(1)PL/Iシステムのソースコード
(1-1)PL/Iソースはラインプリンタへの出力リストで、
(1-2)アセンブラ記述のドライバー、オペレータ類の
コードはマイクロフィルム化した形で、
(2)高水準記述言語のコンパイラーシステム一式
(3)念のため、PL/Iのソースコードを記録した磁気テープ(*1)
トラブルの原因を追跡するためには、ソースリストを読まねばならないから(1-1)が必須である。PL/Iソースの出力リストはかなりかさ張るが止むを得ない。ドライバーやオペレータ類のコード(1-2)はマイクロフィルム化して持参する。マイクロフィルム・リーダーは現場で借りることにした。
(2)(3)は、PL/Iのソースコードを変更する場合に必要となるものだが、今回は現場でコンパイラソースを変更する積りはない(*1)ので使われることはないと思ったが、念のため持って行くことにした。
【注】(*1)当時は大容量のデータを搬送する場合、唯一の方法は磁気テープしかなかった。通信回線で転送するようなことは不可能な時代の話である。磁気テープの場合、大型機で使われていたリールに巻かれていて、1巻で大容量のデータを保存できた。低コストで大量のデータを保存できるのに今では全く利用されていない。

( 磁気テープ )
【注】(*2)高水準の記述言語で作られたシステムプログラムは、どこか一か所でもソースコードを変更したら必ず出荷検査からやり直さねばならなくなる。したがって普通は機械語でのパッチを利用するしか方法がなかった。
これらの資料をメンバー3人で手分けして持参することにした。
▼荷物がない!!
目的地は、シンシナティ(*3) にある世界的に有名な産業機械の会社(以下、M社)である。現在では産業用ロボットも手掛けている。
H社からは事前に予約した我々が泊るホテルの名前、H社の担当者2名の名前と電話番号(office と自宅)を知らされた。最悪の場合、ここへ電話すれば連絡が取れる訳だ。
【注】(*3)シンシナティは、オハイオ州南西端に位置する。州都コロンバスの南西約170km、ケンタッキー州との州境になっているオハイオ川の河畔にある。
( アメリカの地図 )
・6/12 サンフランシスコへ 羽田空港から17:00発の便でサンフランシスコ経由シンシナティへ向かうことにした。サンフランシスコ空港では、シンシナティ行きの国内線に乗り換える際にメンバーの一人の荷物が見つからず、行方不明の扱いになってしまった。発見次第送ってもらう手続きをして全員でシンシナティに向かう。
・23:49 シンシナティ着
グレーター・シンシナティ空港(現在の名は、シンシナティ・ノーザン・ケンタッキー国際空港)に到着。H社の世話にはならないようにとの指示にしたがって、真夜中の24時頃だが早速レンタカー屋に行き車を1台借りる。シンシナティの地図を貰ってRiver Frontにあるホテルを目指す。
時間は既に真夜中である。地図を頼りに初めての高速道路を走るのだから神経を使うが、アメリカの交通標識は日本と比べて大きさ、周辺の明るさ等どの点でも優れて居るので無事にダウンタウンに到着しホテルを見つけることができた。
▼サポート開始
翌朝、H社の担当者と連絡が取れ、一緒にM社の工場プラントへ向かう。立派な工場である。赤レンガ造りの建物に技術部門と本社組織が入っていて問題のコンピュータもそこに置かれていた。それまで使っていたIBM System/370を、最近H社製コンピュータにリプレースしたとのこと。コンピュータ部門の長はIBMから引き抜かれた女性の部長が取り仕切っていた。
クレームの内容は、新しいコンピュータ上でPL/Iプログラムを実行するとIBMマシンでの実行結果と異なるという点であった。だいたいの予想は付いていたが内部コードの違いであろう。
IBMのコンピュータでは、文字コードの内部表現はIBM独自のコードでEBCIDIC(エブシディック)(*11)と呼ばれるコードが使われている。それに対してIBM以外のメーカーは、国際標準のコードを使っていた。
国際標準のコード表の中で、通貨記号の欄にはそれぞれの国の通貨記号が使われる以外はどの国でも英数字と基本的な特殊記号の並びは共通と考えてよい(*11)。アメリカではASCII(American Standard Code for Information Interchange)コードと呼ばれている。
【注】(*11)詳しくは、EBCDIC-Code, ASCII-Code 参照。
詳しく事情を聞くと、果せるかな使用している内部コードの違いであることが分かった。PL/Iのプログラムにデータとして部品の名称などを入力し部品名の一覧を作成するとする。A,B,C 順にソートして表示すると文字コードが異なるので結果として相違が出てしまったのだ。
こういう場合、普通は「仕様書通り、データはASCII形式で入力してください」と言って利用者側の了解を得るのが普通のケースだが、何しろ重要顧客が目の前で実際に困っているのだから何とかしてあげたい。H社の担当者も、わざわざ日本から呼んだのに「自分の守備範囲ではない」と言って帰られても困るだろう。そうかと言って、こちらはPL/Iコンパイラに問題があればそれを修復するために派遣されてきたのだから、それ以外の仕事を勝手に引き受けることは許されない。
そこで東芝に電話して判断を仰ぐことにした。東芝側は「協力しろ」とのことであった。こうして許可が降りたので翌日からサポート作業を開始することにした。
この間、サンフランシスコ空港で紛失したトランクは、まだ見つからないという連絡が入った。時間が掛かりそうである。トランクを受け取れなかったメンバーは着替えとか生活に必要な物一切がないので近くの店で買い集めなければならなかった。気の毒なことになってしまった。分担して持ってきた資料の内、そのトランクと一緒に行方不明になったのは、PL/Iコンパイラのソースコードを記録した磁気テープ1巻であることが分かった。とりあえずPL/Iのソースコードは使う予定がないので、当面の仕事には影響しないと安堵したが、資料が戻らなかったら…と考えるとかなりのショックであった。
▼コード変換のプログラム
翌日からサポート作業が始まった。作業場所として小さな会議室が与えられたので、そこで全員で作業をすることになった。作戦としてはPL/I本体には触れないことにして、オペレータの方を改変することにした。
PL/Iのプログラム上で文字列同士の比較が行われると、コンパイラは文字列比較を行う演算子(オペレータ)を呼び出す為のコードを生成する。このオペレータはアセンブラで記述されている。これを拡張してEBCIDICコードの文字列比較に切り換えてしまう。実行時にこのコードが呼ばれると、すべての文字列はEBCIDICコードとして扱われることになる。
EBCIDICコードの文字列比較を行うためのライブラリプログラムを作ることにした。それをPL/Iの目的プログラムとリンクさせるための工夫をすればよいことになる。
そのためのテストプログラムを組み込むときは女性部長の許可を得なければならない。その都度どこをどう直したかの説明を求められる。部長の部屋でラインプリンタ用紙を床の上に広げて互いに論争したこともあった。なかなか手強い部長であった。
こうした戦いの末、EBCIDICコードへの対応は2週間程で成功裏に終息した。しかしM社のコンピュータ部門の幹部は引き続き協力を求めてくるのでなかなか解放してくれない。その内に、フェニックスからH社の幹部が現状調査にやって来ることになった。
翌日、3人の幹部がやってきて東芝のサポートで顧客を満足させられたかどうかを聞き取り調査していたようである。我々のいる小会議室にもやってきた。そのときのやり取りで悔しい思いをしたが、何が悔しかったのか今ではすっかり忘れてしまっている。その結果、我々はやっと無罪放免となったのである。
▼再び、アリゾナへ
帰りの飛行機の便は、サポート作業中から何度も予約変更を繰り返していたのだが、最終的に私以外の二人のメンバーが直接帰国することになった。私はフェニックスへ寄って最終報告をせよということになった。
7月11日、私はシンシナティ空港から12:12発の便に乗り、15:00にはフェニックス空港に到着した。2年振りのフェニックスである。空港には駐在員のHF氏が待っていてくれた。
▼ご褒美と土産物
フェニックスでの報告という最後の仕事の前に、土曜と日曜は久しぶりの休息日となった。
週が明けて最初の日、H社の会議室で経過報告のプレゼンテーションが終わると、突然カメラマンが現れて写真を撮ってくれた。同時に3人分のJWD(Job Eell Done)の賞状と記念品とを授与された。
そして翌日、私はこれら3人分の賞品類を抱えて日本へ戻ったのであった。
▼後日談
その後、東芝のメインフレームの業務は日本電気に移管されることになった。私もコンピュータの仕事から離れ、医用機器の研究所に移ったので、その後の大型コンピュータの動向やPL/Iの普及動向等はどうなったのか全く知らない。
行方不明となった荷物はその後どうなったのだろう。風の便りで聞いたところでは、別の空港でトランクが発見されたらしい。しかし中身は無くなっていたと聞いている。こういう情報は紛失した当人にしか報告が行かないので、私には何の連絡もなかった。ソースコードが記録された磁気テープの行方はどうなったのだろう? 多分、ごみとして捨てられてしまったのだろうと思った。
その後、再び私はコンピュータの仕事に戻ったが、その頃はパソコン開発の黎明期であり、私もパソコン開発を担当することになった。
パソコン開発でのソフトウェアの仕事は、他の沢山の会社と協力して製品を造り上げるというスタイルを取る必要があった。その結果、他の会社の技術者と交わる機会が多くなっていった。
あるとき、そういった会社の人たちと一緒に昼休み中の雑談をしていたときのことである。その内の一人が友人の話をしていて、その奥さんもやはりコンピュータ関係の仕事をしていて某メーカーの研究所に出入りしているという話になった。そこでは、出入りしている研究室の隣りの研究室では偽札の検出機械を研究しているそうである。またその隣りでは「東芝のPL/Iコンパイラのソースコードがあって、それを解読して研究している」というような話をしていた。
私は、何気なく皆の話に耳を傾けていただけだったので、この瞬間「ぇえ?!」と思ったが、咄嗟に何も言えなかった。彼は、私が以前どのような仕事をしていたかを知らなかったと思う。私に向かって話していた訳でもない。ましてや、PL/Iソースの紛失というような事件のことなど知らない筈である。私は衝撃を受けてはいたが、冷静に、何も言うまい、何も聴くまいと思った。とんでもないことを耳にしてしまった、忘れよう! と決めたのである。
今から思い返してみてもそれがいつ頃のことか、何処で誰と話していたのかも思い出せないでいる。しかし、あの行方不明になったソースコードの行き先が、私には分かった気がした。確信を持って“分かった”瞬間でもあった。
しかしこの様な出所も分からない いい加減な情報を誰が信じてくれるのか。誰も信用しないような話である。当時の組織はもう存在しないし、当時の上司ももういない。かえって多くの関係者に迷惑をかけることになってしまう。誰にも話さないことにしよう、そう強く思った。もはや時効となった話としよう。
(Rewrite:2026-11-08)(2020-09-14記)