読書メモ

・「オープンソースソフトウェアの本当の使い方
(濱野 賢一朗、鈴木 友峰 :著、技評SE新書 \840) : 2009.03.20

内容と感想:
 
本書はタイトルにもあるようにオープンソースソフトウェア(以下、OSS)の活用をより促進させたいという著者らの意気込みが伝わってくる本である。 OSSは金融機関や官公庁などのシステムに導入が進み、「急激に着実に浸透し始めて」いるという。 本書ではOSSの知識や理解が乏しい人のに、理解を深めてもらうと同時に、 実際にどの程度使えるのかという疑問に対して、その適用範囲や性能について解説している。 OSSを導入したいと考えている人にはヒントを与えてくれるだろう。
 最も興味を引いたのはOSS活用に必要な技術についての記述である。 OSSに限らずシステムの規模が大きくなるにつれて性能面での工夫が必要になってくる。 その場合、チューニングや分散管理などを行なうが、そこには様々なノウハウが必要となる。 それがあればチューニングなどをサービスとして提供することがビジネスにもなり、他社との差別化を図れることになる。 OSSがビジネスになるかという議論があったが、利用されるシーンが増えれば、チューニングの例のように関連するニーズは出てくるだろうし、 様々な問題解決のためのビジネスが成立するはずだ。
 また、第7章にはOSS利用の重要なポイントが書かれている。 ユーザ企業がOSSを活用し、そのコストメリットの恩恵を受けるには、「技術力を身につけ、従来SI企業などに任せっきりにしていた 業務やサポートの主導権を取り返すこと」、「OSSがシステムに適用できるかどうかをある程度判断できる力を持つこと」が必要だと。 つまりOSSが企業ITインフラの一翼を担うようになった現在、競争力強化のためにはユーザ企業も技術力を持ち、戦略的にITを活用していく必要があるということだ。

○ポイント
・DBT-1/3: DBMS評価ツール
・OSS開発は実際には企業が主導しているケースが多い
・インフラとしてのITの場合、先進的なITを独自に開発・構築してもすぐに他者の追随を受け、投資した莫大な費用が競争優位性をもたらさなくなった。 現在は技術が安定し、投資コストが下がった段階で導入するのが一般的。
→各社のビジネス上の武器、差別化となるコアのITシステムとは別
・IBMは年間の研究開発費の50億ドルのうち10億ドルをLinuxの開発に投入。 ハードウエアとその上で動作するアプリ、システム開発が主要なビジネス。
・公共性のあるソフトウエア
・競争と協調
・Linux開発コミュニティのアクティブな開発者は約3千人
・インテルやAMDのCPUが提供するハードウエアの仮想化支援機能によりOSの書き換えが不要な完全仮想化が利用できる。 仮想マシン上でのオーバーヘッドが非常に少なくなり、十分に高速
・LAMP:Webシステムの構築にあたり、小規模・低コストで始められる。ミドルウエアレベルの開発の手間を抑え、ユーザに直接提供するサービスの開発に専念できる。
・企業プログラマにはOSSのメリットを享受しながら、コミュニティのメンバーとしても活躍している者も多い
・東証が2009年末稼動予定の次世代売買システムではLinuxを採用
・OSS採用のポイント:それを使いこなす技術が自社にあるか、理解する技術者がいるか
・商用ソフトではオプティマイザが最適化を自動に行なうものもある
・日本OSS推進フォーラム(IPA)
・マルチコアCPUのハイパースレッディング
・インテルCPUの場合、gccよりもインテルコンパイラを使うほうが性能がいい
・OSS iPedia(IPA)
・OSS使用上での管理は容易でなく、個人のスキルに負うところが大きい。管理ルールを考えておく必要あり
・ソースコードがオープンなOSSはエンジニアの人材育成にも有効。コミュニティに参加し、意見を言ったり、自分のコードを大勢に見てもらうことでスキルを高める。
・システム調達側には調達仕様書を要求仕様ベースで書くことが要求される
・OSSのDBMSが商用DBMSにとって代わることは簡単ではない。大規模、高性能、高信頼を求められる基幹システムへのOSSの適用には相当な時間が必要。 ベンダはOSSの成長を邪魔する方向に力を入れている。
・サーバの実行系の信頼性の低さを運用管理ソフトがカバー(二重化やデータのバックアップなど)。運用管理はベンダ保証の効く商用ソフトを使いたいというニーズ
・Linuxが得意とする領域;Webサーバ、メールサーバ、ファイルサーバ。
・システムにかかるコストは構築費用より運用コストのほうが高い。OSSを導入してもSI企業に任せきりでは商用ソフトを利用しているのと変わらない
・自律した技術者。ある時期の知識やノウハウは長い間使えるものではない。情報を自ら収集し、検証

★ネタ
・Windowsのみで動作するOSSはMSがAPI仕様を変える可能性があり、長期的にはリスクもある
・OSS時代のエンジニア:コミュニティへの貢献。評価されるためにも英語力、カーネルの知識、ソース読解力、SOLやSctipt言語のスキルも必要。 そのスキルも次第にコモディティ化しかねない。常にブラッシュアップしていく必要あり
・OSSは情報不足。あってもバラバラ。事例やチップス、バージョンごとの機能やロードマップなどの情報が不足。→まとめサイトが有効
・Linux上で動く商用アプリにはLinuxにパッチを当てた場合に動作保証外となる。それはユーザを縛り、ユーザの不利益になる。 ベンダーも自分の首を絞めることにならないか?パッチを当てても動作を保証するための検証の仕組みが必要。
→ベンダーは顧客をつなぎとめるためには様々な環境での検証が必要。ビジネスになるか?

-目次-
第1章 なぜOSSが利用されるのか
第2章 代表的なOSS
第3章 広がるOSSの採用
第4章 OSSミドルはどこまで使えるのか
第5章 OSSの課題
第6章 データで見るOSSの導入実績
第7章 OSSを効果的に活用するには