![](https://blogimg.goo.ne.jp/user_image/2b/54/0978f8e4efc5d3f4b097693fe3134e6a.jpg)
Windows:.NET/monoがもたらすこと
こんにちは。匠技術研究所の谷山 亮治です。
これから何回かのシリーズで、Windows上のオープンソフト・ソフトウエアを紹介していきます。
今回は「Poderosa」を例にとりMicrosoftのソフトウエア開発と実行環境について考えてみます。
Poderosaは所謂「端末ソフト」です。UNIX系基本ソフトの管理者には「端末ソフト」が必須です。
国内での「端末ソフト」で著名なのは「TeraTerm」で、長い歴史を持ち動作もとても安定しています。私もWindows登場の頃から長い間使っています。Poderosaも数年前にしばらく使っていましたが、またTeraTermに戻っています。
「Poderosa」を例に取り上げる理由は、
1)実装の技術が新しい
Poderosaの実装は「.NET Framework」を使っています。実行時も「.NET 2.0実行環境」がなければ動作しません。これに対し、素のWindows環境「Win32実行環境」で動作するのが「TeraTerm」です。
「.NET Framework」上でソフトを書くことの良さは「今後長期にわたり動作させることができる」ことです。Microsoftは「.NET」を基本ソフト(素のWindows/Win32)とソフトウエアとの間に挟み込み、アプリケーションを抽象的な基本ソフト(.NET Framework)上で動作できるように定義しました。
アプリケーション
--------------------
.NET Framework(mono)
--------------------
Windows/Linux/OS X
BSD/OpenSolaris/...
こうすることで、アプリケーションと基本ソフトが切り離され、「.NET」上で書いたプログラムが様々な基本ソフト上で動作するように「できるはず。」です。この考え方は「Java」でも同様です。
ところが現実はそうもいきません。今の時点では.NET環境を提供するソフトウエア(例えばmono)の実装に大きく影響されます。
Windowsを含めて異なる基本ソフト上に同じ.NET環境を提供するオープンソース・ソフトウエアのプロジェクトが「mono」です。monoはオープンソースかつ再配布が容易なライセンスで提供されていることから、今後普及が見込まれます。
monoが普及することで、基本ソフト+monoの上で動作するソフトウエアは、基本ソフト毎に開発する必要がなくなります。将来monoが堅牢になればなるほどソフトウエアの開発の一本化がすすみ「昔は基本ソフト毎にソフトを書いていたんだよね」という話になります。
同じような思想のJavaもほんとうに普及しているかというと、そうでもありません。Javaの悪口ではなく「間に物が挟まっている」以上、どうしても解釈に時間がかかり、実行速度が遅くなるのです。ところが、近年のパソコンをみて判るように、メモリーも1G,2Gの時代になり、CPUはマルチコア、メニィコアの時代になりました。多少遅くてもハードの処理速度が向上したので実用性が高まってきています。
今後、ソフトウエアの開発プラットフォームは、Java、.NET/mono、ブラウザに収斂していきます。これらのプラットフォームは、基本ソフトの差を吸収するので、利用者側はほんとうに安定した基本ソフトを「選択できる」ようになります。
Microsoftのクラウドコンピューティングへの参入表明の速さの解釈は「リソースが豊富な実行環境を提供する」ことで「Windowsからの移行を押さえたい」と捉えるか「もうすぐ基本ソフトが見えなくなるので、その過渡期にサービスの契約数を確保したい」と捉えるかで大きく異なります。
私は、Microsoftは後者の理解でクラウドへの参入を急いだのだと思います。そうであれば、Vistaを改良することに力を注ぐよりも、Windows 7、MinWinなどむしろ基本ソフトのコンパクト化と安定度を高めることの方が重要です。アプリケーションをクラウド上で.NET経由で実行するのであれば、クラウドを構成する基本ソフトはLinuxでもその他UNIXでもよくなります。利用者側は「Microsoft」の実行環境が良いのか「Google」の実行環境が良いのか、はたまた「Amazon」か「IBM」かのように、良いものを選択するだけです。車を選ぶのと同じように基本性能に過不足はなくなります。Microsoftがより安定した実行環境を提供できれば、利用者が「使い慣れた操作が良いよね」ということで「Microsoft」を選ぶことは充分に考えられます。「ずっとトヨタだし」とトヨタ車を選ぶのと同じです。
「ブルー・スクリーン」のように止まってしまうとお客は離れるでしょうけど、データセンター側は実績のあるハード構成に集約できるので、何処が提供する実行環境もコンピュータ資源が十分でかつ通信経路が安定している限り安定です。
利用者個々のパソコン環境を高性能化する戦略を変更し「利用者側はシンプルに。複雑なことは規格化し、集約したクラウド環境で」の方向に進んだ方がMicrosoftも拡大し続ける利用者側のハードウエアを追いかける必要がなくなります。
今後、オープンソース・ソフトウエアはソフトウエアの基盤技術の面だけでなく、アプリケーション開発そのものに、強い影響を与えることは間違いありません。SUNがOpenSolarisを公開し、MySQLを買収したようにオープンソース基盤技術を提供してビジネスロジックの実現を目指しています。同様にMicrosoftも.NETを基盤としてオープンソースと協業しながらビジネスロジックの実現を目指しており、今やSUNと相似型です。
[お願い]
オープンソース・ソフトウエアの情報は収集が難しく、紹介漏れや間違いも沢山あると思います。コメントや連絡フォームでご連絡いただければ助かります。よろしくお願いします。
(*)この記事の作成・投稿はMac OS XとFirefox3.0.4上で行いました。
☆中小企業のIT活用に関する、ご質問・ご相談はお気軽にどうぞ!
![Use OpenOffice.org OpenOffice.orgをダウンロード](http://marketing.openoffice.org/art/galleries/marketing/web_buttons/nicu/110x32_3_get.png)
![Mozilla Firefox ブラウザ無料ダウンロード Mozilla Firefox ブラウザ無料ダウンロード](http://green.goo.ne.jp/info/firefox/img/ff3_banner.gif)