業界独り言 VOL124 オープンソースの使いこなし 発行2001/9/17

携帯開発競争は、現在二極化していると言える。一つは原資を稼ぎ出す現行システムの端末開発の競走である。二つ目は次世代に向けた端末システムの開発である。後者は来月からの商用サービスインという状況なのだが、全国規模でないことも手伝ってテレビやメディアからは全く見えてこないのが実情だ。システム開発が難しいという事だろう。端末価格が一桁高くなるようなシステムを今までの延長線上で開発を進めていくことは並大抵のことではない。

儲け頭である現行携帯での開発完成度を向上させて、回収などの不具合を起させないためには買い入れのソフトであったとしても自社で吟味してテストを十分に行って検証していくことが肝要なのだろう。レディメードのソフトは、ソースで販売されていたりオブジェクトで販売されていたりするのだが開発件名に比例して完成度が上がっていくものだろうから実績ライセンス数量が多いからといって完成度が高いとはいえない。

また個別のメーカー毎のカスタマイズが必要な携帯の従来の状況では例えOSがITRONで共通だったとしても、その上に構築された各社のプラットホームがバラバラである為にソフトベンダーとして、その対応に追われてしまうことが問題になったりもしている。その対応力を高めようとして技術者を増員していくためには端末メーカーが経験したように開発プロセスの改善が大前提となっていることは間違いなくそうしたことが出来ていないベンダーであれば今後品質問題を引き起こしてしまうことになるだろう。

オープンソースをうまく使いこなして端末に実装出来れば、完成度の高い環境として製品品質も向上できると思うのだが残念ながら現在の携帯端末の実情ではMMUやキャッシュを使いこなして動作するまともなコンピュータとしてのRTOSの仕上げにまでは中々至っていないのも実情なのかも知れない。まあ、開発環境として利用しているマイクロソフトのVisualStudioですらWindowsNTのバグのおかげでまともにコンパイル出来なかったりするのが実情なのだから、単なるITRONの世界でアプリケーションを安定に稼動させることは困難なのだろうか。

新たな開発テーマでなければ、中々新たな取り組みも生まれてこないのが世の常なのかもしれない。UMTSの開発用ツールには、その複雑なエアプロトコルを開発していくために開発機器としての完成度が半ばのままで、むしろユーザーと共に開発を仕上げていくといったカスタマイズ可能な状態で設計されているものがある。これらには、積極的にオープンソースの成果であるPerlやApacheなどが利用されている。マンマシンがIE5.5であったりするのがその実情である。

開発ツールとはEthernetで接続されて、その開発マシンではWindowsの上でApacheが稼動してWebServerとして動作させているのだ。ある意味で不気味なのだが決してそうした場合にMicrosoftのWebServerなどは誰も使わない。仕様が公開されないなかで、一刻を急ぐ開発を進めて行く上で確実な開発を仕上げていく上で選択が出来る技術ではないないからだ。開発しているマシンがCodeRedで侵されたりしたら大変である。開発状況の連絡メールが各社に出回ってしまったりするだろう。

オープンソースを使うことでマンマシンとしての魅力や使い勝手をかなりよくしているのも事実であるが、環境構築で不具合も起こってしまう。この開発ツールを購入するとソフトウェアのインストーラが特別版のApacheやPerlなどのcygwin系のツールを導入した上で、中途半端な印象のある特性のDLLをユーザーが開発して組み込み動作させることになる。ここではVC++が必要だったりもする。MainがWindowsだから致し方ないのかもしれない。

サポートする立場で、こうしたツールを自身のマシンに導入することは必要なのだが、オープン系のツールの中でもPerlは版が多く差異も多い。自社ソフトの開発ツールの中でも利用しているPerlだが異なった版のために相互に影響が出て動作しなかったりする。安定に動作させるためには専用のマシンを米国で確認したそれと同一にあわせることが必要なのだが中々難しい。自立した環境構築のためにVMwareなどのツールを使うのは、そうした背景もある。

Windows2000のマシンの上に英語版のWindowsNT4.0の環境を構築したりしてお客様に提供するDLLをコンパイルする環境構築をして、英語版のVC++を買ってきて展開もした。もともとWINDOWS2000側には、日本語版のVC++を導入してあったのだが、ここで構築した環境でコンパイルしたDLLでは動作が出来なかった。次に、仮想マシンの上に構築したNT4.0Eの上でコンパイルしようとすると今度はなぜかコンパイルが通らない。同じソースがVC++でエラーに陥るのだ。

米国の環境に合わせて、英語版のNTをベースにインストールしたマシンを構築して、さらにコンパイラも同様に導入したのだが、やはりコンパイル出来ない。WINDOWS2000では出来たのに。ソースは正しいはずなのだ。ここまでの経緯でようやく米国の環境と同じになったはずなのに明日の朝までに解決できないと米国出張に入るので引継ぎもしなければならない。焦る中で携帯が鳴った、嫁さんから大変なことが起こっているからテレビを見ろというのだ。貿易センタービルのテロである。「明日の出張には行かないで」というのだ。

結局、夜中過ぎに明日の米国出張も適わないことが判明したので焦って行う事もないので深夜タクシーでいったん帰宅するのだが、同乗したタクシーの運転手はラジオを聞いていないので知らなかったらしい。翌朝、出社して昨日出発した同僚の安否が心配になった。また、ニューヨークに奥さんが行っているというサンディエゴの同僚の安否も心配になった。電話もなかなか国際回線が繋がらない事態となっていた。

もう一度落ち着いてコンパイル環境の見直しを行い、構築したマシンのSWAPディスク領域が不足しているのではという思いにぶつかった。当初は75MBしかとっていなかったのだ。ざっくりと200MBほどのSWAP領域を定義して立ち上げをしなおしたところコンパイルが通るようになったのである。いままではソースにエラーがあるかの様にしか振舞ってはくれなかったのだ。ベースとなるOSのレポート機能が弱かったりVC++の実装が不十分なのだろう。こうした点はオープンソースのLinuxのほうが良い点だと思われる。

出来上がったDLLでの動作確認が出来たのはその日の夕刻である。実際の確認にはそのファイルをお客様に送付して確認してもらうことが必要なのである。これで動作しなければお客様のところに全ての環境を持ち込んで開発確認していかなければならない。開発ツールはオープンソースであっても、提供できるツールで動作するソフトウェアは私達のIPでありソースで提供できない部分なのだから致し方ない。

ともあれお客様から暫くして正常動作の報が届いたのは大変な状況のなかで嬉しいことではあった。色々なツールやソフトの共同作業やシステム構成で動作させていく中でオープンシステムの力をうまく活用していくには、やはりそれなりの苦労はあるものだが、マイクロソフトの環境の酷さにはやはり辟易してきた。早くオープンソースな環境のみで構築していきたいものだと思う。

米国に帰れない人、米国に着けない人、米国から帰れない人、このために帰国途上のルートが閉ざされて韓国から出れない人など色々な人達の状況が発生して、お客様の支援活動にも大きくテロ事件の影響が被ってしまった。平和ボケした日本の中で携帯にまつわる喧嘩などを目にしていた中で仕事に対しての使命感が揺らいでいたのだ。しかし、携帯電話の技術開発を提供していく私達の仕事が、今回のテロ事件でもピッツバーグで威力を発揮したと聞き改めて携帯電話技術開発の意義を感じた。

ご存知の様に墜落したハイジャック機の中の方が奥さんから携帯電話で聞いたNYの惨状と自分たちの状況を認識して機内の仲間たちと行動を起こしてテロの目的を回避させるために命を賭した行動を起したというのだ。この結果、ホワイトハウスの惨事は引き起こされなかった。この記事を帰宅途上の電車で読み涙してしまうと共に使命感を感じた。日本人の自分がその立場だったらどのように行動できただろうか。二年前の私自身の中で起こった意識改革に至った事件を思い出した。

 

コメントを残す

メールアドレスが公開されることはありません。