オープンソース化されたSolaris――コミュニティ、派生ディストリビューション

Solarisオペレーティング・システムのソースコードをリリースしたとき、Sun Microsystemsは人々が手に取り動かしてみるだろうことは確信していた。しかし、期待したものは、その先にある。OpenSolarisコードのコミュニティが形成され、25年以上にわたってSunが開発を続けてきたSolarisが新たな段階へと発展することこそが目標だったのである。今、Sunが待ち望んでいたコミュニティが活動を始めた。

OpenSolarisコミュニティは、6月の創設以来、少なくとも3つの派生ディストリビューション――SchilliX、BeleniX、Nexenta――を生み出した。それだけではない。他のオペレーティング・システム向けの活動もしており、DTraceFreeBSDに移植中である。

OpenSolarisマーケティング・チームのディレクターClaire Giordanoによると、OpenSolarisコミュニティWebサイトの登録者はおよそ10,000人、設立されたOpenSolarisユーザー・グループは世界に24以上あるという。

「開発者たちがOpenSolarisプラットフォームで活発に活動していることに、私たちは大変満足しています。OpenSolaris技術をコミュニティに解放したのは、コミュニティのメンバーがそれを自身の製品やプロジェクトに活用し、革新のためのプラットフォームが生まれ、……、OpenSolaris技術を中核とした一つの大きなネットワークに成長してほしいと考えたからです」

Solaris自体は無償でダウンロードし試用することができたが、ソースコードは公開していなかった。Giordanoの説明によると、コードを求める顧客が増えてきたこともあり、Solarisのコードをリリースし、その技術をオープンソース・コミュニティ開発モデルに移せば両者にとって得るものが大きいと考えたのだという。

しかし、OpenSolarisの一部は、今もオープンソースではない。インド・バンガロールのSunに勤務しBeleniXの開発リーダーであるMoinak Ghoshは、6月にBangalore OpenSolarisユーザー・グループに投稿し、OpenSolarisはまだ完結していないと述べている。一部のコンポーネントのソースが開示されていないため、Ghosh言うところの「完全にブート可能なOpenSolaris環境」にはならないというのである。

Sunが発表しているロードマップでは、すべてのコンポーネントがオープンソース・ライセンスでリリースされるのは、早くても2006年7月以降である。

OpenSolarisは顧客からのコード開示の求めに応えるばかりでなく、教育面での効果もある。Giordanoによれば、コードのリリースによって米国中の大学の情報科学課程でSolarisが広く使われるようになることを期待しているが、実用的かつ短期的な教育効果も期待される。それはSunのオペレーティング・システム担当者に対するもので、その兆候はすでにあるという。

その現場はメッセージ・ボードとメーリング・リストだ。「opensolaris.orgでのコミュニケーションが刺激になっているのです。コミュニティ・メンバーは提供したソースがOpenSolarisソースベースに組み込まれるという形で目に見える貢献をしています。しかし、社章を付けているOpenSolarisコミュニティ・メンバーは、社章を付けていないメンバーと直接的なコミュニケーションを通じてそれ以上に大きな利益を得ているのです」

派生ディストリビューションの登場

派生物として最初にリリースされたのは、OpenSolarisをベースとするライブCD SchilliXである。OpenSolarisのコードがリリースされてから何日も経っていない頃の登場だった。このCDを使うと、ハード・ドライブまたはUSBメモリー・スティックにOpenSolarisをインストールすることができる。記事の執筆に際して開発リーダーJorg Schillingに取材を試みたが果たせなかった。

次にリリースされたOpenSolarisをベースとするディストリビューションはBeleniXである。10月初めにバージョン0.1がリリースされた。開発リーダーのGhoshは、コードのリリースによってSolarisに触れる機会が広がり、使ってみようかと思う人が増えるだろうと見ている。

「Solarisプラットフォームをそれが適用可能な領域の隅々にまで広げる好機です。しかし、それはオープン・コミュニティに参加すればこそ可能になります」

Ghoshは2年半ほど前からSunに勤めているが、OpenSolarisチームには所属していない。BeleniXは、Ghoshが余暇を捧げた成果なのである。3か月間、週末と夜を潰してライブCDを作る方法を調べた。Ghoshが「大いなる学びの時」と呼ぶその時間を使って、コードの穴、すなわちSolarisのまだコミュニティにはリリースされていない部分を埋めたのである。

Ghoshはまっさらの状態から始め、SolarisのNevadaリリースを使ってシステム・ブートの仕組みを調べた。不明な点にぶつかるとSunの技術文書の頁を繰り、Sunにいる同僚の知恵を借りて解決した。

それほどまでにしてSolarisとライブCDオペレーティング・システムの作成法を調べ学んだのは、なぜなのだろうか。Ghoshは言う。「まっさらな状態から始めたかったのです。二番煎じの無駄骨だという人もいるでしょう。しかし、私にとっては、大いなる学びの時だったのです」

DebianKnoppixあるいはSchilliXからも「方法は幾つか借りた」が、「実装を調べる」ことは避けたという。Ghoshは自分で発見したかったのである。

GPLとCDDLの軋轢

11月7日に登場したNexentaは、BeleniXとSchilliXを合わせたよりも大きな関心と議論を呼んだ。OpenSolarisカーネルを使ってDebianベースのOSとして開発されたハイブリッドだったからだ。おまけに、Ubuntuのパッケージの大半を含んでいると同プロジェクトの開発者Alex Rossは述べている。

「Nexentaの登場は、オープンソース開発者に新しい可能性を示しました。しかし、衝撃的な登場もさることながら、私たちのスタッフ全員がNexentaを使っていることが示すとおり、すでにして十分な安定性を持っているという点にも注目してください」

確かに登場したばかりにしては安定しているが、これは開発済みのものを多く採用しているからである。もっとも、Rossに言わせれば、小さなNexentaチームがあらゆるものを一つにくみ上げたということになる。

Rossによると、ユーザーは初見から簡単に扱うことができるという。なぜなら「Linuxコンピュータ、より正確に言えばUbuntu Linuxコンピュータのように見える」からである。ただし、Nexentaの特長を出すため、この外観は将来変更されるだろうという。もっとも、その優先度は低い。優先するのは、むしろ、Nexentaで使えるパッケージの追加である。Nexentaには、すでに2,300パッケージが搭載されている。

Nexentaが議論の嵐を巻き起こしたのは、極めて「GNU中心的」性格の故だとRossは言う。NexentaはOpenSolarisカーネルとコア・ランタイム――Sun C Libraryを含む――を使っているが、それ以外はGNU関連オープンソース・ソフトウェアなのである。しかし、論争は、Debianのdpkgパッケージ管理システムの使用から始まった。

Debianの開発者やコミュニティ・メンバーの一部は、SunのCommon Development and Distribution License(CDDL)の下でGPLソフトウェアが使われていることを問題視した。CDDLとGPLには互換性がないという見方があるのだ。コミュニティが提起した問題はDebianのGPLバイナリを異なるライセンスのライブラリとリンクできるかという点であり、多くのユーザーはできないと考えている。

こうしたNexentaに対するコミュニティの反応に、Debianの創設者Ian Murdockは失望感を表明し、NexentaがDebianコミュニティに対して適切な対応をしなかったかもしれないことは認めるが、使用がライセンスに抵触するという印象は持っておらず、むしろSolarisが改善される可能性に「期待している」と述べた。

そして、ライセンスについての主張が正しかったとしても、その事実をもって指弾して得られるのは専門性に基づく道義的勝利だけであると、Nexentaを批判した人々に対して忠告している。

これに対して、Debianの開発者Josh Triplettは次にように反論した。「GPLソフトウェアをSolarisなどの非GPL互換のライブラリを持つシステムに配布することは許されても、GPLソフトウェアはSolarisとそのライブラリと『共に』配布することは許されません」

「GPLソフトウェアを非GPL互換のlibcなどのシステム・ライブラリを使ってコンパイルすれば、それらのライブラリの派生物はGPLソフトウェアにはならず、逆に、GPLソフトウェアのバイナリは非GPL互換のlibcなどのシステム・ライブラリの派生物になります。そのようなバイナリは、配布することができません」

これに対するMurdockの答えは次のようなものだった。「GPLの目的はGPLコードの派生物がプロプライエタリになることを禁ずることで、GPLアプリケーションが非GPL互換ライブラリにリンクされることを禁ずるものではありません。前者は目標であり、後者は目標を追求するための専門的な事柄なのです」

Rossは、コミュニケーションの面でNexentaに問題があったことは認めるが、Nexentaのために創設された企業Nexenta Systemsは「Nexentaに関する仕事に着手する前に必要な注意義務」を果たしていると述べた。

「私たちは良識を信じたいと思います。別系統のフリー・オープン・ソフトウェア同士を一緒に配布できないという主張は良識に反します。『フリー』の意味を取り違えているのです。それを認めれば、次に来るのは『平和は戦争である』でしょう。そうなれば、一気にオーウェルの描いた1984年の世界です」

NexentaとDebianの軋轢が解消される一方、OpenSolarisの派生物の製作にもコンポーネントの他のOSへの移植作業にも滞りはない。移植で最も知られているのはSolarisのトレース・ツールであるDTraceのFreeBSDへの移植で、Devin O’Dellが手がけている。

O’Dellのブログによると、予定された第1目標は達成し、バイナリは10月9日にリリースされた。SunはO’Dellが開発に使っているハードウェアをサポートするという形で、FreeBSDTraceの仕事を支援しているという。

オープンソースの未来形か

ネットワーク・ストレージ企業Network Applianceの開発者Mike Eislerは、次のような見解を述べている。すなわち、OpenSolarisコミュニティはおそらく「オープンソース・コミュニティの未来形」だろう。知名度があり、組織があり、Sunによる手間暇かけた指導があるからだというのである。

「Sunはopensolaris.orgをわかりやすく参加しやすくし、『部外者』にもオープンにしています。重要なのは、そうした努力のお陰で、他のオープン・オペレーティング・システムよりもOpenSolarisの方がはるかに『部外者』にとって活動しやすいことが知られつつあるという点です」

「活動のしやすさは参加を促し、参加する人から貢献する人へのステップアップもすぐです。こうした活動のしやすさが市場においてOpenSolarisを他のオープンソース・カーネルよりも有利にするかどうかはまだわかりません。しかし、opensolaris.orgの基本的な枠組みと実践はオープンソース・コミュニティの未来形を表しているのかもしれません」

原文