著者: Miguel de Icaza
日本語訳: yomoyomo
以下の文章は、Miguel de Icaza による What Killed the Linux Desktop の日本語訳を著者の許諾を得て公開するものである。
本文については、八木の野郎さん、Shiro Kawai さん、猪股健太郎さんに誤訳の訂正をいただきました。ありがとうございます。
これは実話である。
うちの Linux マシンの /home ディレクトリがあるハードディスクがおかしいので、それを新しいのに換えなければならなかった。このマシンは机の下にあるので、ケーブルを全部抜き、マシンを外に出し、ハードドライブを交換してまたプラグを全部つなぎ直さなければならなかった。
至極ありきたりなことだ。AC 電源をつなぎ、キーボードをつなぎ、マウスをつないだが、スピーカーケーブルを手に取ると、僕はそれをつなぐのはやめた。
なんでオーディオ設定なんかに手間かけなきゃいけないの?
オーディオを設定してもどうせいずれまた壊れるし、そしたらその度に知りたくもない新しいオーディオシステムとドライバ技術について突っ込んで調べるハメになる。
数日前、僕は OSX が Linux を殺したと題する記事を書いた Wired の Klint Finley に話をした。元の質問は、競合するシェルである Gnome 3 のシェル対 Ubuntu の Unity 対 Xfte についての意見を聞くものだった。
個人的には Gnome Shell に大変満足しており、それをまとめるチームは優れた仕事をしたと思ってるし、Gnome デザイナ――歴史的にデザインするだけでハックすることはめったにない――が、ハッカーにお願いして実装してもらわなくても実際にシェルを拡張し、UI を調整してプロトタイプを作れるようになってよかったと思っている。確かにいくらか修正や調整は要るが、いずれは解決してくれると確信している。
思うに、デスクトップ分野の Linux の問題は、その周りに生み出された開発者の文化に根ざしている。
リーナスは下位層であるカーネルの人だが、何年も前に彼がデバイスドライバのバイナリ互換性を捨てたとき、我々のコミュニティの空気を決定づけた。カーネルの人たちにはそれについて正当な理由があるだろうし、Linux 業界に自分たちのルールに従うよう強制したかもしれないが、デスクトップの人たちはカーネルの人たちのような力がなかった。それでも我々はその姿勢を貫いた。
我々のコミュニティの姿勢は、技術的な美徳の一つだった。我々はソースツリーに将来のサポートが保証されないコードを望まず、壊れたデザインを入れておくのを良しとせず、純粋で美しいデザインを求め、間違っていたり不完全に実装されたアイデアの痕跡をソースコードツリーから残らず削除することを望む。
そして我々はその美徳を実践した。
我々は、もっと良い方法があるからといって API を軽視した。それに「このアプローチはうまくない」というだけで機能を削除した。その「うまくない」には「セキュリティホールだから」というのもあったが、「新しいスタイルに合わないから」というものもあった。
我々はオペレーティングシステムの核となるサブシステムを下手な移行の仕方で交換した。互換レイヤを導入したものの、それは実際には互換性がなかったし、メンテナンスもされなかった。「これうまく動かない」という指摘があると、コミュニティの反応は大抵「お前が間違っている」だった。
100%フリーなオペレーティングシステムを使い、またそれのあらゆるコンポーネントにパッチをあて、アップグレードしてシステム更新を最新状態に保てる限りシステムは良好だが、不備が解決されるにせよそれは数ヶ月続けるのもただ不便なだけだった。
問題の二番目の側面は、どの Linux ディストリビューションもどのコアコンポーネントをシステムが使用すべきか意見が一致しなかったことだ。意見が一致しなかったし、移行スケジュールも同期せず同じ機能を実現する競合する実装が存在した。
カーネルやコアライブラリ一式を標準化する試みは、権力志向の今一番いけてるディストロ狙いに台無しにされた。勝ち組は他のディストリビューションが追いつく手助けとなるような譲歩をしようとは思わなかった。非互換なことで市場シェアを得る道が生まれたのだ。Linux 界における800ポンドのゴリラに採用され続ける戦略である。
要約すると、(a) 第一の要因:物事があまりに早く変化し、オープンソースも独占ソフトウェアも同じように壊れる。(b) Linux ディストリビューション間の非互換性。
これがデスクトップ分野で Linux をターゲットとしようとするサードパーティの開発者のエコシステムを殺した。一度は挑戦して、「トップ」ディストロや寛容な人なら「トップ3」ディストロをサポートするのに最善を尽くすだろう。それで知ることになるのは、6ヵ月後にはそのソフトウェアがもう動かないということだけ。
デスクトップ分野の Linux サポートは、独立系の開発者にとって負担になったのだ。
しかしこの段階にいたっても、Linux 界の人たちはすべてをオープンソースソフトウェアで作れると信じた。ソフトウェア業界は概してホームランが少なかったので、スプレッドシート、ワードプロセッサ、デザインプログラムを自力で実装できると確信していたのだ。実際、見事な仕事振りだった。
Linux は信頼できるパッケージ管理と最も進化したソフトウェア更新システムを開拓した。その目標と文化を考えれば、我々は優れた仕事を行った。
しかし、我々は全体像を見失った。その過程でサードパーティの開発者を遠ざけてしまったのだ。Apple OSX の AppStore に息づくエコシステムは、今日の Linux にはまず達成不可能なものだ。
OSX 登場時、それはとても洗練された Unix システムというわけでは決してなかった。カーネルは古く、ユーザランドも古く、最新の Unix との互換性は貧弱で、原始的な開発ツールにすこぶる優れた UI があっただけだ。
時間が経つにつれ、Apple はその Unix スタックの問題の大半を解決した。互換性を改善し、カーネルを改善し、多くのオープンソースソフトウェアが作業に着手し、ソフトウェアがそのまま動くようになった。
Linux やオープンソースの最も実利的な貢献者たちは徐々にその目標を「オープンソースで動く世界」から「オープンなウェブ」に変えた。それ以外の人たちは、音楽を聞こうとして6ヶ月毎にオーディオカードを台無しにし、Linux 上で動画を見る苦労はその価値のあるものではなかった。人々は OSX に移行し始めた。
多くのハッカーが OSX に移った。それは見た目が優れた Unix で、オーディオ、PDF ビューア、ビデオドライバ、動画を閲覧するコーデックが動くので、結局のところ大変使い心地が良いシステムだった。多くの人が、安定したシステムと引き換えにシステムの無制約の設定可能性を諦めたわけだ。
僕自身に関して言えば iPhone に夢中になったので、毎日 Mac を使うのは必須だった。自分は Linux デスクトップを実現する試みの一部を担っていたので、OSX を好きで自分の作業の多くをそちらに移行することに深い罪悪感を感じた。
下位互換性や Linux ディストリビューション間の互換性は、セクシーな問題ではない。解決するのが面白い問題ですらない。そんな仕事をやろうとは誰も思わないし、誰もが革新を起こして Linux の次の目玉機能に関わりたいのだ。
かくして Linux は、サポートや下位互換性といった退屈で些細なことを心配する必要なく実現しうる最高のシステムをデザインしたい理想主義者に押し付けられた。
その一方で、XP が Windows 8 上で起動すれば、2001年の Photoshop を今でも走らせられる。しかも Mountain Lion 上で古い OSX のアプリを今でも走らせることが可能だ。
さかのぼること2月に僕は FOSDEM に参加したが、僕のとても親しい友人二人が新システムを立ち上げるプランに興奮してはしゃいでいたが、それは多くのアプリに修正を強いるようなものだった。彼らは、僕が寡聞にして知らない、たぶんエンドユーザの誰一人として関心がない問題を解決するお美しいヴィジョンを持っているわけだが、Linux デスクトップのユーザはそのつけを払うことになるだろう。
その日、僕は OSX への新たな愛について罪悪感を感じるのをやめた。
明らかにこのブログ投稿の題名にいくらか混乱があるので、簡単な追記を投稿したい。
この題名で僕が意図したのは、デスクトップ分野の Linux が消費者向けのオペレーティングシステムの競争で負けたということだ。Linux は重要なエンジニアリングワークステーションであり続けるだろうし(だから僕は家のシステムのハードディスクを交換しているわけで)、それにそう、友達の多くがデスクトップで Linux を使っており、それを愛していることは承知している。
しかし、我々は主流の消費者向け OS になるチャンスをふいにした。これは、誰も非技術系の人にデスクトップ用途に Linux が入ったコンピュータをお勧めしていないということだ(あなたがイデオロギー的な理由で勧めるのでなければね)。
我々にもチャンスはあった。最大のチャンスは、Vista が市場でコケたときだ。なのに我々は内部闘争に明け暮れていた。その頃の自分たちがやっていた争いについて書いている人もいる。
今日、いろんなデスクトップ分野の Linux が過去最高の状態にある。Ubuntu と Unity、Fedora と GnomeShell、RHEL と Gnome 2、 Debian と Xfce に加え KDE が入ったディストロ。それにも関わらず、未だメジャーなデスクトップ API が4つあるし、デスクトップ分野の Linux にはおよそ6つの人気があり微妙に互換性がないバージョンが存在する。そのそれぞれで OS サブシステムが独自に管理され、パッケージングシステムが異なり、依存性が異なるしコアライブラリも微妙にバージョンが異なる。純粋なオープンソース向けなら良く機能するが、プロプライエタリなコードにはあまりうまく機能しない。
これらの急速に進化するプラットフォームでアプリを出荷しメンテナンスするのは大仕事だ。
Linux はデスクトップ以外の分野、サーバと携帯機器で成功した。しかしデスクトップ分野では、我々陣営の主な呼び物や差別化要因は値段だが、ネイティブアプリの消極的な選択と頻繁な破損で結局は高くついてしまう。Linux Hater ブログが、Greatest Hates と題した一連の投稿でこれをパロディにした。
Linux を正常な状態に戻す唯一の手段は、一つのディストロ、一つのベースラインコンポーネント一式に絞り、それ以外はすべて諦め、皆がこの単一の Linux だけに貢献するようにすべきだ。これが Canonical の Ubuntu であれ、Red Hat の Fedora であれ、Debian のシステムであれ、もしくは新たな共同の取り組みであれ、頭のいい人たちが最後まで意見の一致をみないだろうけど。