Javaとオープンソースをめぐる「公開書簡」が相次いで登場し,米国のオンライン・メディアを巻き込んだ論戦が展開されています。Java技術をオープンソースにするようSunに求める声が高まっているのです。Web上のニュースメディアでも多数の記事が出ており,ご覧になった読者も多いと思います。ただ,筆者は,Web上のニュース記事にはどうも肝心な点が抜けているような気がしています。
そこで,このコラムでは,3通の「公開書簡」の実物を読んだ印象を書きます。特に3通目の書簡はある意味で大変な内容なのですが・・
1. SunからEclipseメンバーへの手紙2004年1月30日,Sun Microsystemsは, "An Open Letter to Eclipse Membership" と題した公開書簡を発表しました。オープンソースのIDE(統合開発環境)としてJava開発者の間で非常に人気があるEclipseに対するSunの意思表示です。
公開書簡では,Eclipseの独立法人への移行に祝辞を捧げ,EclipseとSunのNetBeansという二つのオープンソースIDEの統合をめぐる交渉が物別れに終わったことを述べ,さらにEclipseメンバーもJCP(Java Community Process)とJTC(Java Tools Community)に参加してほしいと述べています。文面は(ニュース記事から想像されるよりも)真面目なもので,JavaコミュニティとEclipseコミュニティが共通の利益を持てることを強調しています。その軸となるのが,Javaの標準へのサポート,具体的にはJCPやJTCということになります。
その裏側には,Eclipseの開発環境で用いられているSWT(Standard Widget Toolkit)が,Javaプラットフォームとは別の技術であることへの懸念が読み取れます。SWTが,Eclipse開発環境そのものの拡張に使われているのならまだいいのですが,SWTに基づいたGUIアプリケーションが増えてくると,Javaという標準技術が守ってきたクロスプラットフォーム性が崩れてしまうからです。
もう一つ,この公開書簡では,その運営組織に対するIBMの影響力が強すぎることを指摘しています。実際,EclipseはIBMの寄付と開発パワーの提供によって成り立ってきたという側面が強かったのは事実です。ただ,せっかく独立法人になろうとしている時期にこうした書簡が発表されることは,当事者としては面白くないことかもしれません。
◎1月30日発行のSunの公開書簡 "An Open Letter to Eclipse Membership",japan.linux.com掲載の翻訳
◎2月2日のプレスリリース,Eclipseが独立法人に
2. Eric Raymond氏からSunへの手紙2月12日,オープンソース・イニシアチブ(OSI)の設立者でオープンソース運動の著名人であるEric Raymond氏が,Sun CEOであるScott McNealy氏宛に公開書簡を送りました。その前日の2月11日に開かれたアナリスト・ミーティングで,McNealy氏が「オープンソース・モデルはわれわれの友人だ」と述べたとの報道に対するものです。
公開書簡の中でRaymond氏は,McNealy氏の発言に噛みついて,「オープンソース・ソフトウエアから収入は得られないというが,Red Hatの株価はSunの3倍じゃないか」と語っています。そして,Sunが開発したNeWSウインドウ・システムが,技術的にはX Windowに勝っていたにもかかわらず,ソースコードを公開していたXに負けたという故事を引き合いに出して,SunのJava技術に対するコントロールが強すぎることを非難しています。
Raymond氏は,オープンソースに関してまったく新しい視点から長文の評論「伽藍とバザール」を書いて有名になった人物ですが,残念ながらこの書簡には特に新しい分析は見られません。McNealy氏がオープンソースを引き合いに軽口を叩いたのに対して,オープンソース活動の理論家・活動家であるRaymond氏が反応したという感じです。「オープンソースを,Sunの都合のいいようにネタにするのはやめてくれ。株価を上げたかったら,もっと真面目にオープンソースをやりなさい」というトーンでしょうか。
◎2月12日,Eric Raymond氏がSunに宛てた公開書簡
3. IBMからSunへの手紙2月26日にcnetが報じたところでは,2月25日にIBMのエマージングテクノロジー担当副社長Rod Smith氏が,Sun Microsystemsの副社長Rob Gingell氏に公開書簡を送りました。Rod Smith氏は,巨大なIBMにあってJavaを含む新技術開発全体に責任を持つ立場にあり,一方のRob Gingell氏はJavaコミュニティの最高機関といえるJCP(Java Community Process)を代表する人物です。差出人と宛先の両方とも,Javaの未来への影響力があるのです。
この公開書簡は短いものですが,この中で,Smith氏は,Webニュース記事中でSunのSimon Phipps氏が「なぜIBMはオープンソース・コミュニティにIBMが実装したJava技術を提供しないのか」と語っていることを取り上げ,「IBMはオープンソース・コミュニティを強力にサポートしてきた」と反論しています。
重要なのは,この短い書簡の中でRod Smith氏が「IBMは,Javaをオープンソースにする独立プロジェクトに関して,Sunと協力する意思がある」と提案している点です。Sunが「Javaの仕様,テスト群,コードを含むSunの素材」をオープンソース・コミュニティに提供するなら,IBMも技術リソースとコードを提供する用意がある,とまで言っています。実現すれば,Java分野の業界地図は変わるでしょう。ただし・・・
この提案にはSunは簡単には合意できないはずです。Javaの仕様,テスト・スイート,実装コードを提供することは「Java技術のすべて」を公開することだからです。SunはJavaの仕様決定プロセスや互換性テストの実施にはこだわり続けてきました。この歴史的経緯からすると,実装をオープンソースにすることはあっても,仕様決定プロセスまで完全にオープンにすることは考えにくいのです。
この書簡は,インターネット上の「世論形成」を意図したものである可能性もありますが,それにしては戦略的な印象はあまりありません。それより--下世話な言い方をすると,Webニュースの記事で「なぜWebSphereをオープンソースにしないのか」と言われたRod Smith氏が,「Sunには言われたくないね」と言い返したという印象でしょうか。
◎IBMのRod Smith氏がRob Gingul氏に宛てた公開書簡
◎Rod Smith氏の公開書簡で引き合いに出されている記事
4. 強まる「Javaオープンソース化」への圧力以上の論戦は,対オープンソース・コミュニティ,対IBMという二つの点で,Sunが摩擦を抱えていることを浮き彫りにしました。Java技術のオープンソース化を迫る圧力は,これからも高まってきそうです。
1通目の公開書簡は,Eclipseコミュニティへ向けたSunの「お別れ」メッセージでした。NetBeansとEclipseの統合の話は失敗したけど,別のやり方でうまくやっていこう,という提案です。
2通目は,SunのScott McNealy氏の軽口に,Eric Raymond氏が軽口で対応した書簡です。1日で書いていることもあって,シリアスな論考を織り込んだものとはいえません。
3通目の公開書簡は,IBMのRod Smith氏がSunをからかっているように取れます。「一緒にオープンソース実装を開発しよう」という提案は「爆弾発言」ですが,近い将来に実現することはないような気がします(可能性があるなら,こんな書簡では公表しないはずなので)。
3通とも,「摩擦」の存在を示す証拠物件です。
* * *
そんな中で,SunはJava技術に適用する新たなオープンソース・ライセンスを準備中との報道も出ています。オープンソース・コミュニティに受け入れられる新しいライセンスが求められていることは確かです。従来のJava技術のソースコード開示にあたり適用されていたライセンスSCSL(Sun Community Source License)は,オープンソース・ライセンスとは見なされていません。前出のRaymond氏の団体OSIも,またGNUを開発するFSFも,SCSLはオープンソース・ライセンスではないとの見解を示しています。なお,記事中に「日本で開催のイベントJTCでJonathan Schwartz副社長が新ライセンスを発表する見込みだ」とありますが,これは不発に終わり,発表はなかったようです。
* * *
筆者の推測ですが,Java技術の実装のある部分をオープンソースにしていく可能性は高いのではないかと思います。
例えば,Sunが運営するオープンソース・サイトjava.netを見ると,「JAXB, JAX-RPC,SAAJの各APIの実装はオープンソース・ライセンスで公開する」との記述があります。大学や研究機関に限定したJava Research Licenseでコードを公開する,とあります。前出のRob Gingell氏は以前,「java.netでのソース公開の位置づけは?」筆者の問いに答えて「参照実装をオープンソースにするかどうかは,個別のエクスパート・グループごとの事情による」と回答してくれました。標準化を推進する上では,オープンソース実装を公開するのは有効なやり方になっているので,新しいAPIの実装がオープンソースになるというケースは出てくるかもしれません。
ただし,こうした小出しのやり方は,オープンソース・コミュニティが求めている「Javaのオープンソース化」とは隔たりがあります。摩擦がある状態は当分続くと見ていいでしょう。