オープンソースソフトウェア
技報サイト内検索
2007年11月発行 Vol.27 No.3 通巻94号オープンソースソフトウェア
技報94号は「オープンソースソフトウェア(OSS)」特集です。インターネットを介してソースコードを無償で公開するという革命から15年、OSSはプロジェクト数だけでも4万を超え、世界中で200万人もの技術者が開発に携わる一大勢力となっています。無料で利用できるOSSプロダクトは、最近では品質や機能面でも商用ソフトウェアに追いつきつつあり、その採用はコスト削減だけでなく、特定ベンダの囲い込みから脱却する手段として、企業や公共団体から注目され始めています。 本号では、日米欧のOSS採用状況とその背景、ライセンス問題、OSS開発ツール、フレームワーク、インテグレーション技術、Linux/OSSによる企業システム構築事例、コミュニティへの貢献について、そして好評を博したBITS2007パネルディスカッションの模様も収録しています。 長年企業システムを手がけてきた日本ユニシスグループの、OSSサポートへの取り組みを、本号にてぜひお確かめください。
オープンソース・パラダイムシフト
企業のITシステムは今やビジネスを支える上での重要な基盤となり,情報システム部門にはめまぐるしく変わるビジネス環境への対応や新技術のキャッチアップと同時に,投資対効果が求められる時代になってきている。一方,ベンダ側はメインフレーマが1社で整合の取れた製品を提供する時代から,様々なメリットを持つオープンプロダクトを組み合わせてITシステムを構築し,提供する時代に移ってきた。近年,オープンソースソフトウェア(以下,OSS)の企業のITシステムへの利用が進んでおり,従来から盛んだったインターネットシステムでの利用から,企業のエンタープライズシステムへの適用,ミドルウェアや業務アプリケーション,更には携帯電話やロボットにまで活用されるようになっている。 OSSの普及を支える特徴として,世界中のエンジニアが集まり開発する「開発コミュニティ」と,開発した機能を公開しなければならない「ライセンス」が挙げられる。そして,多くのエンジニアが関わる特徴から,標準技術の採用や公共の知財として活用する社会基盤としての地位が確立されつつある。また,OSSはライセンスコストの削減や利用用途が広がるだけではなく,公共知財を活用しイノベーションを加速させる要素としての活用が始まっており,今後はこの本質を見抜き,新しいビジネスモデルへの変革を行うことが重要であろう。 本稿では,社会基盤として普及し始めたOSSの市場状況を概観し,OSSは一つのソフトウェアプロダクトをさす言葉ではなく,ビジネスモデルに対しパラダイムシフトを起こしていることを説明する。そして,今後広がっていくOSS市場における日本ユニシスグループの持つ知財を活用する方針を示す。
欧州の公的組織におけるOSS化事情と日本市場における考察
2000年3月に採択された欧州委員会のリスボン戦略の一環として,PS-OSS(Public Sector & Open Source)プロジェクトでは,対象を公的組織に絞ったFLOSS(Free/Libre/Open Source Software)プロモーションを進めている。このプロジェクトでは,欧州の公的組織における著名なFLOSS化事例研究を実施し報告書としてまとめている。その報告内容は,(1)FLOSS化の動機付け(2)課題とメリット(3)促進要因と阻害要因(4)電子政府サービスや地域経済あるいは情報社会に対する影響等となっている。結論として,FLOSSの特性を理解しているITエンジニアの絶対数が不足している,という阻害要因はあるものの,一般に懸念されている法制度の問題やサポートに対する不安はそれほど重要ではないこと,また地域貢献に対する明確なビジョンを持った上で公的組織が推進すれば,FLOSS化によって地域にもたらされる影響は非常に好ましいものになるとしている。一方,日本の地域社会におけるOSSへの取り組みは,基本ソフトウェアや基盤ミドルウェアの領域でのOSSの採用は徐々に浸透しているものの,地域振興や経済の活性化を明確に意図した取り組みは未だに見られないという状況であろう。OSSパラダイムがもたらす智の連鎖が格差のない地域社会の構築に潜在的な力を持っているという認識を持ちつつ,OSSへの取り組みを強化する必要がある。本稿では,上記の報告書の内容を要約して紹介するとともに,報告書に指摘されている点を日本市場の現状に照らして考察し,今後の方向性について提言を行う。
OSSメッセージペディアとOSSエコシステム
Linuxカーネルから出力されるエラー・警告メッセージに関するマニュアルは存在しない。本稿では,それらのメッセージについて,解説と対処方法が書かれたオンラインマニュアルの製作と,そのマニュアルがOSSエコシステムの中で果たす役割について触れる。次に,集合知の力と多くの目による監視で質の高いマニュアル作りを目指すため,Linuxカーネル開発コミュニティへ働きかけ,開発者自身にもメッセージのドキュメント化作業の一部に取り組んでもらうための呼びかけについても紹介する。また,ユーザコミュニティへのアプローチとして,OSSメッセージペディアが用意しているサービスについて言及する。最後に,この活動に関する考察と,これからの活動方針について述べる。
PostgreSQLにおけるCPUスケーラビリティの評価と改善
サーバ分野において,オープンソース・ソフトウェア(以下OSS)を適用したシステムが普及・拡大している。一昔前ではWebサーバ,メール・サーバ,ネーム・サーバといったネットワークのフロントエンド・サーバへの適用が中心であったが,ここ数年ではJBoss®などのアプリケーションサーバやPostgreSQL,MySQL®などのRDBMSを利用したエンタープライズ・システムへの適用も珍しくなくなった。 しかし,OSSを採用するにあたっては,性能的に耐えられるか,要件を満たすためにはどのようにソフトウェア・ハードウェアを構成すればよいのか,OSSの採用によりコストはどの程度減らせるのか,など確かな情報が必要となる。 独立行政法人情報処理推進機構(IPA)が事務局を務める日本OSS推進フォーラムの開発基盤WGでは,このような背景から2004年度にOSSミドルウェアの性能評価プロジェクトを開始した。この評価プロジェクトは,次の二点を主な目的としている。 ・性能評価の結果だけでなく,手順やツール,設定データも共有し,共通化を図る。 ・性能評価結果から,OSSの適用可能範囲を明確にする。 本稿では,2005年度に本プロジェクトで実施した,UNISYS ES7000によるPostgreSQLのCPUスケーラビリティの評価結果について報告する。この評価の結果,PostgreSQLの性能や問題点が明らかになり,PostgreSQLの適用範囲を示すことができた。
PostgreSQLによる共有ディスク・クラスタPG-CALSの設計と実装
PG-CALSは,米国Unisys社の協力の下でユニアデックス(株)が調査研究を行っているPostgreSQLによる共有ディスク・クラスタを実現するデータベース管理システムである。PG-CALSでは,共有ディスク・クラスタのアーキテクチャを採用し,アクティブ/アクティブ型クラスタとして,可用性と負荷分散,及びシステムの拡張性を同時に実現する。共有ディスク型のクラスタは,共有リソースへのアクセス競合により,一般にシステム性能を保証する実装は容易ではない。PG-CALSでは,シェアードページキャッシュ機能を提供し,効率的な共有データリソースのアクセスを実現する。 本稿では,共有ディスク・クラスタPG-CALSの実装技術について解説を行い,PG-CALSによる効率的なトランザクション処理を検証する。
OSS開発支援ツールの利用技術に関する取り組み
社会・企業における情報システムの重要性が高まり,情報システム産業においてより一層の品質や生産性の向上が求められる中,ソフトウェア企業の開発現場では,開発環境の統合化や開発プロセスの標準化など,多面的な取り組みが進められてきている。OSSの開発環境においては,OSSの開発支援ツールも機能性,品質が向上しており,急速に普及してきている。こうしたツールの多様化,高度化に伴い,個々のシステム開発の特性や制約条件に適したツールの選択や,利用技術に関する知財の蓄積が望まれている。ツールの選定においては,開発プロセス全体を網羅したツールはなく,分野ごとに異なる開発コミュニティが開発した多様なツールが混在するため,ツール同士の連携を考慮することが重要である。ツールの運用においては,開発プロジェクトの形態が多様化する中,プロジェクト特性を考慮したプロセスの策定が不可欠であり,規模,期間といったプロジェクト特性や,分散性(集中/分散),流動性といった開発要員特性などによる考慮が不可欠となる。 本稿では,OSS開発支援ツールの利用技術として,実プロジェクトでの適用評価を通し,ツール選定および開発プロセスにおける運用の視点で,開発環境に関して考察する。
OSSベースのJava EEアプリケーション・フレームワーク − Maiaの研究と開発
Java EE関連のオープンソースソフトウェア(以下,OSS)の品質向上や高機能化に伴い,開発工数の削減と開発生産性の向上を目的に,システム開発へのOSS適用が一般化してきている。他方,OSSの重要性が高まり,同様な機能を持つOSSが多数開発された結果,OSSの機能・特徴を把握することが難しくなってしまった。またOSSの種類が増えたことで,利用知財の蓄積すらも難しいのが現状である。このような状況においては,標準的なOSS適用指針を策定し,知財の蓄積と活用を促す必要がある。 OSSに関する技術調査の結果,Struts, Spring, Hibernateを,推奨するOSSの組み合わせ「OSS基本パターン」として選定した。ただ,これらのOSSだけでは一般的にシステムに必要とされる非同期処理・帳票処理等の機能をサポートすることができないため,Javaシステム標準アーキテクチャを策定し,不足部分の補完機能を開発して,システム全体をサポートすることが重要である。 日本ユニシスグループでは,OSS基本パターンの不足機能を商用フレームワークMIDMOST for JavaEEを参考にした独自実装により補完することで,システム全体をサポートするアプリケーション・フレームワークMaiaの研究・開発を進めている。Maiaは,OSSと商用ソフトウェアの利点を統合し,また知財の蓄積と活用を促す試みである。 本稿では,標準的なOSSの適用指針であるOSS基本パターン,Javaシステム標準アーキテクチャ,不足機能の補完実装に関して解説を行い,日本ユニシスグループが研究・開発を進めているMaiaについて紹介する。
日本企業のOSS採用への課題と将来展望
オープンソースソフトウェア(以下OSS)は,利用料が無償でソースコードが開示されているソフトウェアである。当初は大学やソフトウェア開発者が主なユーザであったが,近年は,欧米企業を中心に利用が拡大し,ミッションクリティカルシステムへの採用例も増えてきている。一方,日本市場では,企業システム関係者のOSSに対する注目度は高いが,欧米ほど普及しているとは言えない状況である。 そのような背景のもとで,日本市場におけるOSSの普及を推進させるために,欧米と日本の企業ユーザの意識やOSSの利用実態を調査した資料の比較・分析を行った。その結果,日本企業を巡る課題として,(1)システム構築時のベンダ依存度の高さ,(2)欧米のOSSベンダの日本進出の遅れによる情報やサポートの不足,(3)ユーザ企業のOSS導入の評価基準が確立していないことの三点があることが分かった。これらの課題を踏まえて,企業ユーザがOSSによるシステム構築・運用において,今後どのような取り組みが必要かを提言する。
Linuxと各種OSSプロダクトを用いたシステム構築事例
本稿では,実際のシステム開発プロジェクトへのLinux®/OSS(オープンソースソフトウェア)ミドルウェアとOSSフレームワークの適用事例を紹介する。 まず,料金システムの概要とシステム構成を説明する。そのうえで,本システムに用いられているLinux/OSSミドルウェアの採用理由を述べる。また,Javaフレームワークとして,Struts/SpringFrameworkを採用することになった選定過程と利用にあたっての工夫を記述する。 最後に,1年半の稼働実績を証跡とし,OSSがミッションクリティカルなシステムへの使用に充分耐えうることを提示する。
OSSを使用したインテグレーション作業の自動化
インテグレーションの自動化とは,ビルド(ソースコードのコンパイルを行い,最終的な実行可能ファイルを作成すること)やプログラムのユニットテストといったソフトウェア開発後期に行われるインテグレーション作業をコンピュータ上で自動的に実行するものである。インテグレーションの自動化により,インテグレーションにおける問題の早期発見と対応,手作業によるミスの低減,ひいてはソフトウェア開発プロジェクトでのリスク低減を図ることができる。 また,個々のプロジェクト状況に応じて低コストで柔軟にインテグレーションの自動環境を構築するには,オープンソースソフトウェアを組み合わせて利用することが得策である。 本稿では,インテグレーションの自動化の目的と背景を説明し,オープンソースソフトウェアを組み合わせて実現したT社PDMシステム開発でのインテグレーションの自動化環境を紹介する。
オープンソースソフトウェアに潜む法的リスクの低減に向けた 取り組み
近年,オープンソースソフトウェアは幅広い分野でその有効性が認められ,適用が進められている。しかしその一方で,ライセンスに起因するリスクなどの懸念点も指摘されている。主要なライセンスの中には頒布時にソースコードの公開義務が課せられるものもあり,場合によっては知的財産の流出や損害賠償などの企業損失が発生する可能性がある。 本稿ではこれらのリスクの程度や発生ケースを整理した上で対処方針を示す。特に,企業におけるリスク低減の取り組みについてソースコード検査を含む運用モデルを提案する。