UserLinuxのGUI選択について

UserLinuxのホワイトペーパーの中で、私はソフトウェアの選択に偏りがあり、そのためプロジェクトは難航するだろうと表明した。きちんと警告しておいたわけだ。しかし、どうやら骨の折れるプロジェクトにはならないようだ。ただ1つ問題がある。システムに採用するGUIの選択だ。UserLinuxプロジェクトでは、システムのGUIとしてGNOMEを選択した。そのことで、KDEの支持者から大きな反発を買っている。

GNOMEとKDEはどちらもフリーソフトウェアだ。たくさんの優秀なプログラマの手によって開発され、著名なビジネスパーソンからも支持されている。フリーソフトウェアコミュニティに参加している人の多くは、KDEまたはGNOMEに多大な精神的投資(あるいは金銭的投資)をしている。開発に積極的に携わる人もいれば、ユーザとして多くの時間を割く人もいる。

そうした人たちにとって、自分の支持するGUIがUserLinuxプロジェクトに選択されないのは我慢できないことなのだろう。

ではどうしてGNOMEだけを採用することになったのか。UserLinuxのベースとなったDebianにはこのような偏りはない。本稿執筆段階のDebianのプレリリースには、13,000以上のソフトウェアパッケージがあり、最低でもKDE、GNOME、GNUStepの3種類のデスクトップGUIが同梱されている。FreeDesktop.orgのサイトでは、GNOMEとKDE間の相互運用性を高めようとする努力が続けられている。Red Hat Bluecurveプロジェクトでは、両GUIの外観の統一をテーマに掲げている。現在、KDEアプリケーションとGNOMEアプリケーションを一緒に動作させても特に問題は起きない。そして何よりも重要なことは、プログラマ以外のユーザの場合、アプリケーションがどんなGUI向けに作成されたものなのか気にしないという点だ。GUIの問題は、開発者側の問題であって、ユーザ側の問題ではないのだ。

しかし、この2つのデスクトップを統一しようとするさまざまな努力は続けられても、両者のGUI SDKがまったく異なるという事実は変わらない。これまで互いに競い合ってきた両GUIの仕組みは、Linuxカーネルと同等、あるいはそれ以上に複雑だ。開発者とサポートスタッフにとって、両GUIの仕組みを詳細に把握するのは容易ではない。かなりのコストがかかる。ITショップがそのような選択に直面したら、選択肢の幅を狭めてコスト削減に努めるはずだ。

UserLinuxの目的は、ビジネスパーソン向けのシステムとなることだ。設計の中核をなすのは、エンジニアリングサービスとサポートサービスを提供する営利サービスプロバイダ並みのネットワークだ。こうしたサービスプロバイダは、市販製品をベースに事業を展開しているので、いかに利益を上げるかという経済的制限に縛られている。GUIを1つにするか2つにするかという問題は、サービスプロバイダから見れば、採算性か破産かという問題なのかもしれない。UserLinuxを採用した企業で働くサポートスタッフとエンジニアリングスタッフにとっても事情は変わらない。1つのGUI SDKだけを使って開発と保守を行いたいと願うはずだ。ただ断っておくが、私は選択肢を用意することが悪いと言っているのではない。悪いのは、自由な選択を許さないことだ。

UserLinuxメーリングリスト上でGUI問題をテーマにした討論会を1週間に渡って開いたところ、約200ほどの投稿があり、他の仕事が手に着かないほどだった。この討論を通してはっきりわかったことは、GNOMEとKDEにはそれぞれ相手に勝る部分があり、総合的に判断すれば、技術的なメリットは等しいということだ。しかし、ビジネスの面から見ると、大きな違いがある。GNOMEは、SDKをベースにプロプライエタリソフトウェアを開発してもロイヤリティがかからない。一方KDEは、Qtというウィジェットセットをベースにしており、このQtを使ってプロプライエタリソフトウェアを開発するとライセンス料が発生する。

私たちにとって大切なのは、フリーソフトウェアを企業に広めていくことだ。フリーソフトウェアが長期的に存続できるよう法改正を求めれば、企業の共感が得られるはずだ。問題は、ソフトウェアの特許やDRMなどである。今、こうした問題は企業対少数派団体の争いの様相を呈しており、私たちは負け組の側にいる。法改正を勝ち得るかどうかは、フリーソフトウェアがどの程度企業に浸透するかにかかっている。

企業ユーザは、システムではなくソリューションを購入する。そして、フリーソフトウェアとプロプライエタリソフトウェアが混在した環境を構築し、特定の用途に一番合ったソフトウェアをフリーかプロプライエタリかを問わず選択できることを望んでいる。これは紛れもない事実だ。UserLinuxが存続できるかどうかは、ソリューションの生態系の規模と品質で決まる。ソリューションは、フリーとプロプライエタリの両方が必要だ。したがって、フリーソフトウェアを企業に広めていくためには、まだ存在しないプロプライエタリなソリューションの作成を推進しなければならない。企業への浸透が進めば、フリーソフトウェアはアプリケーションスタックの上位に移動していき、やがて企業で使用されるソフトウェアはフリーソフトウェアが支配的になるだろう。しかし、プロプライエタリなソフトウェアを仲間に入れることも必要だ。

私たちは、フリーのシステムでもプロプライエタリなシステムでも、ソリューション開発者に対するロイヤリティを支払うことなく構築することができる。ソフトウェアの選択しだいだ。KDEとMySQLではなく、GNOMEとPostgreSQLを選べばよい。理由は簡単。GNOMEとPostgreSQLは、プロプライエタリなシステムの開発者にもライセンスが与えられるからだ。金銭的な参入障壁が低くなれば、フリーかプロプライエタリかを問わず、ソリューション開発者の大規模な生態系が支持される。金銭的な話は、第三世界の国々ではとりわけ重要だ。欧米の開発者に比べて、SDKライセンスの費用が重要な意味を持つからだ。

GUIの選択に関しては、ほぼすべてのLinuxディストリビューションが口を閉ざしている。敵を作ることにもなりかねないし、既にGUIを選択した顧客に再考の機会を与えることにもなるからだ。私は、だれにでも何もかも用意するのは臆病者の選択であり、最悪の判断だと思っている。企業ユーザは、問題の焦点を正しく認識するだろうし、開発とサポートをただ1つのGUIに集中できれば、GUIを選り好みしないはずだ。そうなると、GUIは1つだけ選択すればよいことになる。

メーリングリストで確認できるように、UserLinuxでのソフトウェア統合のほとんどは、コンセンサスに従って進められている。しかし、GUIに関してはコンセンサスが得られない可能性があると認識していたので、私の独断でプロジェクトではGUIの問題を扱わないことにした。UserLinuxは、GNOMEベースとなり、QtやKDEを既定のコンポーネントに含めない。そして、GNOMEの開発とサポートがプロジェクトの方針であることを表明する。このことが、感情を高ぶらせたのは間違いない。KDEグループの公式見解は丁重なものだったが、メーリングリストは個人の暴言であふれた。しかし、感情的になる理由はない。私の決定は、UserLinuxでKDEやQtを使用するのを妨げるものではない。だれでもDebianパッケージからKDEやQtをインストールできるし、サポートプロバイダがKDEを正式にサポートしてもかまわない。ユーザから選択の自由を奪うつもりはない。UserLinuxでも別のプラットフォームでも、自由にKDEを使えばいい。

KDEの支持者から出された計画はすばらしいものだ。Debianベースで、ぜひその計画を進めてもらいたい。私も協力を惜しまない。今のFreeDesktop.orgとDebianのように、お互い役割を分担できるはずだ。しかし、UserLinuxをGNOMEベースにするという決定が立ちはだかる。個人的な暴言が今後さらに続いても、この1週間と同じように笑顔で無視するつもりだ。もう10年もそうしたやり方を続けているし、今では本当にうまく立ち回れるようになった。GUIを信奉するあまりスパムメールを送ってくる人たちがいるが、メーリングリストの投稿者がGUI以外の問題で協力し続けることができたら、こんなにすばらしいことはない。

来年の2月に、私が関与するシリーズ本が出版される。Jasmin Blanchette氏とMark Summerfield氏が著した『C++ GUI Programming with Qt, the official Trolltech guide to Qt 3.2』だ。私は、Qtの推進にちょっとした金銭的利害関係を持っているが(本の収益はほとんどない)、今のところGTK/GNOMEに関してそのような利害関係はない。出版社とのコミュニケーション不足から、今度の本の付属CDにはフリーソフトウェア以外のソフトウェアが収録されている。Windows Qtと、Borlandのコンパイラだ。これは、私のポリシーに反し、出版社には二度とこうした誤りを繰り返さないように話してあるが、今回はもうすぐ出版されるという段階でTrolltechとの関係をこじらせるのを避けることにした。また、最近私はコンサルティングの顧客にQtopiaを勧めた。十億ドル規模のプロジェクトになる可能性があるからだ。こんなことを言うのも、私が強硬なQt反対論者ではないことを知ってもらいたいためだ。

私は、UserLinuxの開発を続けており、今はインストーラの準備をしている。他にたくさんの人が構築作業を進めている。作業の状況は、メーリングリストで確認することができる。

今後ともよろしく。

Bruce Perens