OpenSolarisの見解

ほとんどの場合、オペレーティングシステムのレビューや開発者のインタビューでは、技術的なポイントをよりどころとしてプロジェクトの目標とユーザへの利益を説明する。オープンソース・ソフトウェアの世界でなされている仕事から一番おいしい部分を受け取る人々の見解を聞く機会は、めったにない。そこで、今回は以下のOpenSolaris開発チームのメンバーに取材し、技術色の薄いインタビューをお届けする。

  • Justin Erenkrantz – カリフォルニア大学アーヴィン校Donald Bren School of Information and Computer Scienceに在籍する大学院生。Apache Software Foundation(ASF)のシステム管理者の1人であり、同組織の最高決定機関のメンバーである。
  • Liane Praza – 米Sun MicrosystemsのSolaris Kernel Development部に所属するエンジニア。
  • Chris Morgan – ニューヨーク市の金融業界で開発チームに所属。
  • Max Bruning – Sunエンジニアを対象として、Solarisインターナル(カーネル内部)、デバイス・ドライバ、カーネル・クラッシュ解析/デバッグ、Solarisネットワーク・インターナルについての教育を担当する。主に解析とデバッグを専門としてSolarisとLinuxのコンサルティングを行う。6年間にわたってフルタイムでカーネル開発(Unix System V Release 4ベースのカーネル)に携わり、70年代からニュージャージー州のベル研究所でUnixのプログラミングと利用に従事する。
  • Stefan Teleman – ニューヨーク市の金融サービス企業に勤務。SolarisとLinuxをベースとするプラットフォームで動作する複雑で高性能、高セキュリティの取り引きアプリケーションを開発するグループのサブリーダー。
  • Keith Wesolowski – OpenSolarisプロジェクトのエンジニア。
  • NewsForge:OpenSolarisプロジェクトのどこに魅力を感じたのですか?

    Justin Erenkrantz:OpenSolarisプロジェクトには、Apache Software Foundationのインフラストラクチャ・チームの代表として主に参加しています。OpenSolarisのパイロット・プロジェクトにはASFインフラストラクチャ・チームの代表者が他に3人いますが、一番多く発言しているのは私です。

    ASFインフラストラクチャ・チームは、オープンソース・プロジェクトのapache.orgシステムの基盤となっている全システムを管理するボランティアの集団です。たまたまSolarisを使うことになりましたが、私たちはオープンソース支持者ですから、オープンソース・プロジェクトとして一人立ちできるようにOpenSolarisの成熟を支援しています。また、それと並行して、Solaris 10からOpenSolarisに移行できるケースがあれば、できるだけそうしたいとも思っています。今の時点では、Solarisマシンは1台しか運用していません。他にFreeBSDとLinuxも使っています。

    Liane Praza:Solarisの開発に携わって数年になります。最近は、Solaris 10のService Management Facility、つまりsmf(5)の主任エンジニアを勤めました。smf(5)はSolaris上でサービスを起動する機能ですが、多くのSolarisサービスはSunの外部で書かれていることから、既存の開発コミュニティの充実ぶりを長い時間をかけて学んだところです。Solarisのエキスパートは大勢いますが、Solaris向けのソフトウェアを開発している他の人々と連絡をとれる公共の場所は多くないのです。OpenSolarisは、コードを寄与する場を作っただけでなく、ソフトウェア開発について意見を交わす場も作ったのです。そこに自分が参加しているなんて、わくわくしますね。

    ソフトウェア開発で一番興奮させられるのは、自分が書いたものが想像もしない方法で使われることです。OpenSolarisによって、Solarisの革新性をクリエイティブに活用する新しいチャンスが生まれます。

    Max Bruning:このプロジェクトのことは、私が講師を勤めたSunエンジニア向けのデバイス・ドライバ講習クラスにいた元生徒から聞きました。ドライバ(そしてその他のカーネル・モジュール)を書く場合、ソースコードを参照することほど役立つものは、おそらくないでしょう。ソースコードが公開される前は、いくつかのドライバのソースが公開されていましたが、参照できる範囲に限界があり、しかも比較的古いデバイスのドライバばかりでした。Solarisをソースから「ビルド」することに関心はありません。しかし、新しいカーネル・モジュールやドライバをシステムに追加することには関心があります。ソースにアクセスできるなら、さまざまなツールから出力された情報がどう解釈されるのかもチェックできます。たとえば、マニュアルには、特定のコマンドやライブラリ・ルーチンがどのように機能するかとか、システムの一面については説明されています。コードにアクセスできれば、処理の流れに関する推測を具体的に確認できます。

    Stefan Teleman:私にとっては、これはお気に入りのUnix実装をお気に入りのコンパイラを使って扱うチャンスでした。そして、実際にビルドした経験のある人から学べるチャンスでもあったんです。おかげで、たくさんの素晴らしい人々と出会い、知己を得ることができました。

    NF:OpenSolarisの最も優れている点は?

    Justin Erenkrantz:Solaris Engineeringチームで培われた知識と経験は膨大です。この専門の技量を一般に公開するだけでも、コミュニティの全体的な知識が強化されます。そこから革新的なものが生まれる可能性がかなりあります。

    Solarisの最もクールな点は、変更がSolarisの「ゲート」をくぐり抜けて正式に組み込まれるまでに、非常に多くのレビューが重ねられることです。品質を落とさずにこのレビュー・プロセスを「移植」することは、OpenSolarisにとって重要な課題になるでしょう。当事者が会議で顔を合わせるどころか、電話による会議にさえ参加できない環境でも、レビュー・プロセスを実施できるようにする必要があります。外部の貢献者が途中から参加した場合でも適切に実施できるレビュー・プロセスとはどういうものか、メーリング・リストで議論されています。プロセスを開始する前にそのすべての手順を文書にまとめてあれば、作業は速やかに進められ、参加者の追加やプロセスの規則化に伴ってさらに検討を加えることができるでしょう。

    Liane Praza:OpenSolarisでは、作業コードでSolarisのインタフェースを利用できる一方で、予想どおりに動作しない場合には、実装そのものを詳しく調べることもできます。革新的で興味深いインタフェースがOpenSolarisには多数用意されており、開発者はこれらのインタフェースをアプリケーションで活用できます。たとえば、その一部だけを挙げても、DTrace、smf(5)、Fault Manager、イベント・ポートなどのインタフェースがあります。作業コードのサンプルがあって、実装を参照して正規マニュアルの記述を補えるなら、こういったインタフェースの利用は簡単です。

    OpenSolarisは、オペレーティングシステムを開発するコミュニティと、オペレーティングシステム向けにアプリケーションを書くコミュニティを直接結び付ける架け橋となるのです。

    Max Bruning:OpenSolarisのおかげで、以前ならコストのかかるリバース・エンジニアリングが避けられなかったような質問にも答えが見付かるようになりました。リバース・エンジニアリングは今でも有効な手段ですが、ソースコード(とDTrace /kmdb)を利用できるようになったので、答えを以前より早く見付け、答えの正確性、完全性を確信できるようになりました。また、システムの拡張や改良のため、さまざまな人から寄せられた提案を読むのも有意義です。Sunの内部と外部、両方の関係者がいるので、ずっとバラエティに富んだシステムの利用形態を目にすることができます。

    Stefan Teleman:政治力学による干渉がないこと、そして各自が自分の役割のメリットに関して成功を追求する明白な意欲を持つことが、このプロジェクトの鍵です。昨今のソフトウェアは、オープンソース、クローズドソース、グリーンソース、なんであれ、あまりに政治力学が幅をきかせすぎです。「敵・味方」の対立構造ではなく、創造的な発想に後押しされる純粋なソフトウェア・プロジェクトに従事することは、すがすがしい気分にさせてくれます。他のオープンソース・コミュニティもこの根本方針に注目して、創造と生産を指向してくれたらと思いますね。

    Keith Wesolowski:Sunの大口顧客は、Solarisエンジニアにいつでも連絡をとれる恵まれた立場にあります。OpenSolarisは、この関係を、巧妙な着想や的確な質問を持つ不特定の人にまで拡張します。OpenSolaris開発者が興味を持っているのは、最初に設計して実装した人々と一緒に仕事をする機会があるようなシステムの一端にかかわることです。それは私たちにとっても刺激的なことです。次の優れた着想は、そういった人々から寄せられるかもしれないからです。

    NF:OpenSolarisについて、一番見過ごされていること、あるいは一番誤解されていることは何ですか?

    Justin Erenkrantz:OpenSolarisは、Solaris 10で出荷されているものとまだ同等ではありません。とはいえ、いずれSunは、Solaris 10と同等のものを(法的に許される限り)OpenSolarisでも利用できるようにすると思います。それには時間がかかりますし、管理体制を確立していくことも必要です。立ち上げ時に何が備わっているかだけでOpenSolarisを評価しようとしては、全体像が見えません。本当のテストは、コミュニティとコードがその後の数年間でいかに発展するかを確かめることなのです。

    Liane Praza:OpenSolarisにはコミュニティ機能があるので、OpenSolarisソースベースに正式に含める段階にない開発コードでも、試験的な利用のために公開できます。現在のSolarisの長所は、製品化できる品質に達していない機能は開発ゲートすらくぐることができないことです。Solaris Expressプログラムを利用すれば、誰でもSolarisの初期開発ビルドにアクセスできます。これは最新の機能を利用したい人々には強い味方です。しかし、プロジェクトによっては、作業コードから製品レベルの品質にまでもっていくのに数ヶ月かかることもあります。品質に対する要件が非常に厳しいからです。OpenSolarisを使うことにより、まだ安定していない機能にアクセスしたい人々は、早期にそういった機能に接することができます。場合によっては、機能の完成を早める手助けさえできるかもしれません。

    Chris Morgan:OpenSolarisは、真にオープンであり、いずれは真にSolarisと同じものになるでしょう。

    Max Bruning:OpenSolarisについて一番多く耳にする質問は、「Sunが本当にソースコードを公表するんですか? 全部残らず?」というものです。私はこう言ってやりますよ。「そうです。Sunは本当にソースコードを公表しているんです。ただし、全部じゃありません。ですが、独自に開発しているコードに足りない部分を書くには十分な量です」とね。他に、こんな質問も聞きます。「だからってなんだ。手遅れだよ。Linuxのコミュニティが年月をかけて今の規模にまで大きくなっているんだから」。これにはこう答えます。「良質のテクノロジに手遅れなんてものはありません。SolarisとLinuxの両方が、互いの着想と技術を参考にできるのですから」

    これ以外で耳にする不満は、むしろSolaris自体への不満ですね。よくあるのは「Solarisは遅い」という不満です。ああ、この人はSolaris 10を試したことがないな、と思いますね。ソースコードやDTraceなどのツールを使ってシステムの内部動作を確認できるので、カーネルとアプリケーションの両方についてパフォーマンスの問題(とバグ)を短時間で検出できます。ツールにソースコードが加われば鬼に金棒ですよ。

    Solaris x86への不満も聞こえます。「Solaris 7をPCで試したけど、動かなかった。それっきり、Solarisはやめた」というんですが、もう一度試してみるには今はいいタイミングですよ。

    Stefan Teleman:OpenSolarisに関する意見はたくさん目にしました。かなりの人が思い違いや誤解をしているのでガッカリです。しかも、そのいくつかは、発言に重みがあり、多くのオープンソース・コミュニティに影響が及ぶ人物が書いた意見だということも悲しいですね。

    まず最初に言っておきますが、私たち(OpenSolarisコミュニティ)は、口から泡を飛ばしてLinuxを攻撃する凶暴なアンチの集団などではなく、ありもしないLinux殲滅秘密組織によって操られてもいません。Linuxのペンギンを殺そうと企むSolarisのダース・ベイダーなどいないのです。それと逆に、すべてのGNU/Linuxハッカー(あるいは擁護者)が誠実なジェダイの騎士であるということもありません。

    私たちの過半数は、LinuxとSolarisの両方を日常的に利用しています。

    ほとんどの思い違いは、Solaris全般についてや、Solarisハッカーの「文化」についてよく知らないことから来ているようです。これは、いうなれば、12年前のUsenetニュースグループの文化にたとえられるものです。ある特定の性向が私たちに共通します。内向的、せっかち、自分で学び実行するという強い信念、といったものです。

    思うに、こういった性向はUnixの歴史に由来するのでしょう。かつてのUnixは、暗号まがいの使いにくい「一匹狼」のオペレーティングシステムでした。Unixを学びハックしたければ、試行錯誤を繰り返して独力で習得したものです。だからといって、私たちがコミュニティを発展させなかったわけではありません。私たちが公共の財産を共有しないということではないのです。単に社交的でない、というだけです。対照的に、他のオープンソース・コミュニティは、もっと社交的な基盤から誕生し、発展、繁栄しているようですね。このような2つの文化をつなぐ橋を見出し、不信を一部なりとも解消できればどんなにいいかと思うのです。いがみ合わなければ、みんなが繁栄できます。

    Keith Wesolowski:Sunは「集合意識」ではありません。このプログラムを利用していただきたい人々の多くが、広く言われている風評、つまりSunはフリーソフトウェアを憎悪しているとか、OpenSolarisは市場におけるGNU/Linux製品の成功を迎え撃つ先鋒だというような噂を信じてしまっています。弊社の重役がこの件をどう考えているか知っていると言い張るつもりはありませんが、文字どおり長年このプロジェクトの実現に取り組んできたSolaris組織内の人々は、そんな考えは抱いてません。企業の主導によってコミュニティが形成されたのではないのです。このプロジェクトには、私たちの誰もが個人として参加しています。OpenSolarisは、オープンソースとオープンの開発に対する私たち1人1人の誠実さと個人的な深いかかわりを体現しているのです。誰かに強制されてそうしているわけではありません。

    原文