• 検索結果がありません。

オープンソースソフトウェア:2.3Apacheプロジェクトに見るオープンソース開発の実際

N/A
N/A
Protected

Academic year: 2021

シェア "オープンソースソフトウェア:2.3Apacheプロジェクトに見るオープンソース開発の実際"

Copied!
4
0
0

読み込み中.... (全文を見る)

全文

(1)オープンソース ソフトウェア. Open Source Software. 特集:. Apache プロジェクトに見る オープンソース開発の実際. 2.3. 中村祐一 日本アイ・ビー・エム(株)東京基礎研究所 [email protected].  Linux の登場以来,オープンソースによるソフトウェア. きる.. 開発が注目を集めている.オープンソース開発は世界中の.  コミッタになるには,実際の開発を手伝えばよい.す. 優秀な人材を集結することができるという利点があるが,. なわち,バグの修正や機能を追加するようなコードをメ. 一方でいくつかの疑問点も沸いてくる.本当にボランティ アだけで良いソフトウェアが作れるのか? 企業がオープ ンソース開発に投資する利点は何か? 標準化とオープンソ ースの関係は? 本稿では,筆者がかかわってきた Apache. ーリングリストにポストし,良い仕事を何回かすればコ. SOAP と Apache Axis という 2 つのプロジェクトでの体 験に基づいて,これらの疑問について解説する.. その後は自由にコードの追加・修正が可能になる.. ミッタの投票を経てコミッタに任命される.コミッタに なると,ソースコードへの書き込み権限が与えられ. ☆1. ,.  以上のように,Apache ではきわめて民主的なかたち で開発が進められる.これは開発者にとっては非常に魅. ■ Apache. 力的であり,世界中から企業や大学の枠を越えて多く技. におけるオープンソース開発. 術者・研究者の参加がある.  Apache(http://www.apache.org/) は オ ー プ ン ソ ー ス ■ Apache. 開発を進めるための独立した機関であり,IBM や SUN. SOAP と Apache Axis に見る  実際の開発. などの主なベンダが資金を提供している.HTTP サーバ の開発プロジェクト(http://httpd.apache.org/)が有名で あるが,その他に,XML のパーザーを開発する Xerces.  SOAP(Simple Object Access Protocol)は非集中/分散. (http://xml.apache.org/xerces2-j/index.html),サーブレット. 環境におけるアプリケーションプログラム間の情報の. エ ン ジ ン を 開 発 す る Tomcat(http://jakarta.apache.org/. 交換のための XML を用いた単純で軽量なメカニズムを. tomcat/index.html) な ど, イ ン タ ー ネ ッ ト に か か わ る. 提供するものであり,最近注目されている Web サービ. 技術を中心に多くのプロジェクトが進められている.. スにおける中心技術の 1 つである.当初,マイクロソ. Apache のプロジェクトがゼロからスタートすることも. フトを中心に SOAP1.0 が策定されていたが,SOAP1.1. あるが,企業がソフトウェアを寄付し,そこからスター. (http://www.w3.org/TR/SOAP/) に お い て IBM が 加 わ. トするものも多い.Apache SOAP(http://xml.apache.org/. り W3C の標準的な技術(たとえば,XML スキーマな. soap/index.html)や Xerces は IBM が寄付したソフトウェ. ど)を採用したことにより,大きく注目されるように. アから始まったものである.. なった..  通常のプロジェクトはコミッタと呼ばれる人々がコー.  SOAP1.1 の発表と同時に,IBM は SOAP4J という処. ドを提供することにより,開発が進められる.コミッタ. 理系を IBM alphaWorks(http://www.alphaworks.ibm.com/). はプログラミングするだけでなく,機能の追加や設計の. 上で発表した.そして,これを Apache に贈呈すること. 変更などに関して投票権を持っており,意見が別れた場. により,Apache SOAP というプロジェクトが立ち上げ. 合などはコミッタによる投票により意思決定を行う.開. られた.このプロジェクトでは,IBM SOAP4J に機能を. 発に関する議論は完全にオープンであり,誰でも参加で きるメーリングリストが利用されている.そこでは,コ. ☆ 1 . Apache では,ソースコード管理に CVS(http://www.cvs.org/)を使 っており,CVS への書き込み権限が与えられる.. ミッタだけでなく,一般の人も議論に参加することがで. IPSJ Magazine Vol.43 No.12 Dec. 2002. −1−. 1333.

(2) 論する人に本の執筆を依頼することが多々あるそうで ある.  以上,2 つのプロジェクトを紹介したが,同じ SOAP に関する開発でも大きく違っていることが分かったと思 う.Apache Axis のような始まり方が理想であるが,問 題も多かった.Apache Axis ではアーキテクチャそのも のの設計からメーリングリスト上で議論を始めたため に,最初の半年間は基本的な設計に関する合意も十分に 取れていないまま実装が進められたのが実情である.開. 図 -1 TRL-SOAP のアーキテクチャ. 発効率を考えるのであれば,このような形態よりも少人. 追加することが中心的な作業であり,アーキテクチャ上. 数で設計を決めたほうが良かったかもしれない.. の大きな変更はなされていない. ■企業におけるオープンソース開発の.  一方,Apache SOAP のアーキテクチャそのものが, 本来 SOAP が持つ特徴を生かしきれないという議論も. 位置付け. 盛んに行われていた.筆者のグループでも,同じ問題意 識から SOAP を処理するためのエンジンを作成し,そこ.  現在,コンピュータ業界の中で「IBM の一人勝ち」. での経験を基に新たなエンジンをスクラッチから作るべ. と い う こ と が よ く い わ れ る. そ の 鍵 の 1 つ が オ ー プ. きだということを主張した.図 -1 に筆者らが開発した. ンソースであり,ソフトウェアの開発戦略において. TRL-SOAP. 1). と呼ぶエンジンのアーキテクチャを示す.. 重 要 な 位 置 を 占 め る. 数 年 前 ま で,IBM は ほ と ん ど. SOAP で特徴的なヘッダ処理と仲介者という概念を柔軟. のソフトウェアをインハウスで開発し,ソフトウェ. に処理するために,パイプをつなぎ合わせたようなもの. アを知的財産とみなし,ソースどころかバイナリの. を実装した.筆者らはこのエンジンを実際のアプリケー. 公開も非常に困難であった. ションにも,SOAP メッセージに対する電子署名という. 社 製 の HTTP サ ー バ を 捨 て て,Apache HTTP サ ー バ. 観点から適用した .そして,このような実アプリケー. を採用したことが大きな転換点となった.その後も,. ションでの経験に基づいて,新たなアーキテクチャの議. Apache に積極的に参加し,時にはソースコードを贈呈. 論の中でセキュリティ機能の実現という観点から設計に. しながら,オープンソースを推し進めている点は周知. 貢献した.. の こ と で あ ろ う. さ ら に, 最 近 で は,developerWorks. 2). ☆2. .ところが,IBM が自.  新しいアーキテクチャの議論は当初 Apache SOAP の. (http://www.ibm.com/developerworks/)において,いくつ. メーリングリスト上で行われていたが,構想が固まっ. かのオープンソースプロジェクトをホストすることによ. た 段 階 で Apache Axis(http://xml.apache.org/axis/) と い. り,より積極的にオープンソースを推し進めている. う独立したプロジェクトとなった.この際,筆者はグ.  オープンソースとならんで,開発戦略において重要な. ループのメンバと共に,1 日に数回くらいはメーリング. 位置を占めるのが,標準化である.オープンソースと標. リストにポストしなければならず,英語ということも. 準化を利用した開発戦略をまとめたものを図 -2 に示す.. ありかなり大変であった.このような期間が 2 カ月ぐら. W3C や IETF を通して標準を策定し,その実装をオープ. い続いたところで,筆者はキーとなりそうなメンバ 3 ∼. ンソースや alphaWorks(http://www.alphaworks.ibm.com/). 4 人に個人的に声をかけ,電話で会議をし,新しいプロ. などの公開サイトを通して展開する.オープンソースな. ジェクトを起こすことを確認した.その後,1 カ月ほど. どで開発したコードは製品に組み込まれて出荷され,そ. で,Apache Axis が独立したプロジェクトとなり,また. の製品を基にして実際のアプリケーションが作られる.. 同時期にフェース・ツー・フェースのミーティングも行. 上位の 2 つが「マインドシェア」を獲得するための活動. われ,正式にプロジェクトがスタートした.なお,Axis. であり,直接売り上げに貢献するわけではないが,製品. では,ハンドラ・チェーニング・フレームワークという. やソリューションを売り込むための土台作りとしてきわ. ものが採用され,TRL-SOAP の考え方がある程度反映さ. めて重要である.. れている..   図 -2 の よ う な 戦 略 は Web サ ー ビ ス の よ う な 新 し. ☆3. ..  一方,電話会議をしたメンバを中心として,本を執 ☆ 2 . 筆者自身,Aglets プロジェクト(http://aglets.sourceforge.net/)にお いて,それをオープンソースにすることに非常に苦労した. ☆ 3  参考文献 4)には,IBM のオープンソース戦略のことが書かれて いる.筆者自身は,IBM がこの記事に書かれているような戦略を 持っているかを知る立場にはないが,1 つの考え方として非常に的 を射ているように思う.. 筆することになり,Axis プロジェクトが始まってから ちょうど 1 年後に Web サービスに関する本を出版する ことができた .後で分かったことであるが,メーリン 3). グリストには出版社の人も多く参加しており,活発に議. 1334. 43 巻 12 号 情報処理 2002 年 12 月. −2−.

(3) いうワーキンググループが設立されたが,Axis の主要 メンバの何人かはこのワーキンググループにも参加して いる.すなわち,プロトコルそのものと実装という 2 つ の観点から SOAP の仕様が検討されていることになる. このような活動を通して,標準化チームと実装チーム の間で問題点が共有され,共通の認識に基づいて新たな SOAP1.2 を策定していることが,Axis の最大の貢献と 見ることができる.また,プロトコルの標準化に加え, Axis は JAXM と JAX-RPC という Java API の標準化にも 大きく貢献している.. 図 -2 オープンソースと標準化を利用した開発戦略.  以上のように,オープンソース開発には問題点もあ るが,マインドシェアを獲得するための非常に有効な手 い 技 術 エ リ ア に お い て, 特 に 必 要 と さ れ る.Web サ. 段ともいえる.しかしながら,このことは企業がオープ. ー ビ ス の エ リ ア で は,SOAP, WSDL, UDDI の よ う な. ンソースを製品戦略に利用する動機ともなる.オープン. 基本的な標準のほかに,セキュリティなどの拡張に. ソース開発の理念としては興味のある人が集まって特定. 関 す る 標 準 も 次 々 に 発 表 さ れ る( た と え ば,http://. のソフトウェアを作ることであるが,企業は参加する. www-6.ibm.com/jp/NewsDB.nsf/2002/04191 な ど ). そ の. 以上,開発したものを自社製品に組み入れたいと思うの. ため,仕様に矛盾や誤りがないことを保証したり,実装. は当然である.できあがったものを組み入れるだけなら. からのフィードバックに基づいて仕様を更新する際にオ. 問題ないが,企業がオープンソース開発を自分の都合で. ープンソースが使われる.さらに,2 次的な効果として,. 制御しようとすると,プロジェクトが破綻する可能性も. オープンソースで開発することにより,標準自体を開発. ある.. 者に早期に浸透させることも可能となる.参考文献 4) ■むすび. によれば,むしろマインドシェアの獲得こそ,オープン ソースの最大の利点という見方もあり興味深い.  以上のことから,企業は何らかの製品戦略を持って.  本稿では,オープンソース開発に関して,筆者が参加. おり,それを実現するために標準化やオープンソースを. した Apache SOAP ならびに Axis での体験に基づいて述. 最大限に利用しようとしていると考えられる.実際,筆. べた.オープンソース開発は世界中からのボランティア. 者がオープンソース開発にかかわっているとき,基本的. によってソフトウェアを開発するというのが本来の理念. には純粋に開発に貢献したいという思いが強いが,新た. であるが,それを企業が開発戦略の一部として利用しよ. な機能の追加やアーキテクチャの変更などをする場合. うとする動きもある.筆者は,企業の開発戦略に沿って. には,社内でのレビューを必要とする場合があった.特. オープンソース開発に参加したはずであるが,実際は外. に,筆者がかかわっているセキュリティの部分の実装. 部の参加者との議論や共同での開発を十分楽しむことが. に関しては,Apache には寄贈されていないが,IBM の. できた.企業の意図は別にして,オープンソース開発は. バリューとして製品にのみ組み込むことが決定された. それ自体が開発者にとって楽しく刺激的というのは間違. からである.このように,インフラはオープンソースに. いない.. して,拡張部分は製品でのみサポートするという方法も 一般的である. ■オープンソース開発の利点  Axis での体験を通して,筆者はオープンソース開発 がチーム開発(企業内での通常の開発形態)に比べて必 ずしも優れているわけではないと考えている.一方で, 開発の効率以上に,マインドシェアを達成する点で非常. 参考文献 1)Neyama, R. and Nakamura, Y.: A SOAP Engine Flexibly Customizable for Header Handling, ICSE 2001, XML Technologies and Software Engineering, Toronto(May 2001). 2)IBM Software: Solutions: Web Services by IBM: Case Studies: ORIX, http:// www-3.ibm.com/software/solutions/webservices/casestudies/orix.html 3)Graham, S., Simeonov, S., Boubez, T., Daniels, G., Davis, D., Nakamura, Y. and Neyama, R.: Building Web Services with Java: Making Sense of XML, SOAP, WSDL and UDDI, SAMS Publisher(2001). 4)REALITY CHECK:IBM の 強 力 な 武 器 − オ ー プ ン ソ ー ス , http:// www.zdnet.co.jp/enterprise/0204/19/02041988.html (平成 14 年 11 月 6 日受付). に意味があったと考えている.Axis が対象とした SOAP は,Web サービスの中核となる技術であるが,仕様そ のものに曖昧性がある.このような曖昧な部分をなく IPSJ Magazine Vol.43 No.12 Dec. 2002. −3−. 1335. Open Source Software. して完全な仕様とするために,W3C に XML Protocol と.

(4) −4−.

(5)

図 -2 オープンソースと標準化を利用した開発戦略

参照

関連したドキュメント

Using Virtual Tenant Network (VTN) function, four private networks were prepared on single physical network with OpenFlow switch.. Relocation of computer does not

Furthermore the effectiveness of 3D dynamic frame analysis software, i.e., Engineer's Studio which is more simple and suitable for the design work was confirmed by reproducing

Regularity for pseudoconvex domains and CR manifolds.

This product includes software developed by the OpenSSL Project for use in the OpenSSL

It is known that minimal Sullivan models for a simply connected space of finite type are all isomorphic, and that the isomorphism class of a minimal Sullivan model for a

For a better understanding of the switching dynamics of the Fermi-acceleration oscillator, a parameter map for periodic motions and chaos should be developed from the

Problems of a contact between finite or infinite, isotropic or anisotropic plates and an elastic inclusion are reduced to the integral differential equa- tions with Prandtl

NIST - Mitigating the Risk of Software Vulnerabilities by Adopting a Secure Software Development Framework (SSDF).