2013-03-08

Mark Shuttleworth、Ubuntuのローリングリリースと独自実装について語る

Mark Shuttleworth » Blog Archive » Not convinced by rolling releases

Mark Shuttleworthが自分のブログで、Ubuntuのローリングリリース化への要望や、Ubuntuの独自実装の傾向について、コメントを出している。

ローリングリリースにはときめかない。

Ubuntuの「ローリングリリース」化の噂が盛んだ。ユーザーコミュニティから一番よく挙げられる要望でもある。また、Canonicalの開発者(多くはコミュニティ出身であり、コミュニティの思想を受け継いでいる)の間でも強い要望がある。

私にとっての問題は単純だ。ローリングリリースは、そもそもリリースなんかじゃないという事だ。確実なものが欲しいユーザーに、その肝心な確実性を提供できない。それに、日々の開発リリースで、需要は満たせているはずだ。開発リリースは、Canonicalとコミュニティによるリリースサイクルを経た日々の品質テストにより、(開発者にとっては)非常に使いやすい。

そういうわけで、私はこれまで、ローリングリリースについては興味がなかった。

今年、この議題がまた浮上し、その要望の強さから、Canonicalの開発チームは、実際のところを調査して、利点と欠点を洗い出し、議論のたたき台を提供できるようにした。Rickは先週、そのたたき台を提出した。明らかだが、Rickはこの意見に強く賛成の立場であり、だからこそこういう話が出てきたのだが、彼一人の意見で物事が決まるわけではない。

Rickの立場をもってUbuntuの最終的な立場とするのはあたらない。Technical Boardは賛成していないし、Community Councilもまだ立場を決めかねているし、私も賛成していない。そういうわけで、浮き足立った者たちは、少し落ち着いて、議論に参加すべきだ。

意外な発見

Rickのチームの調査により、いくつかの興味深く、(私にとって)意外な発見が明らかになった。

一つ目に、定期リリースに混乱がある。現在の方法では、12.04 LTSと14.04 LTSの間には、3つの定期リリースがある。これに混乱する人が多い。ISV[訳注: Independent Software Vendor、Canonicalと協力関係にあるソフトウェアベンダーのこと]は、quantelとraringとssなんちゃら[訳注:Ubuntu 13.10のコードネームは規則通りならばSから始まる]対応を目指すべきなのか? データを元にして言えば、彼らは出来ないし、実際やらない。PPAは定期リリースごとに不整合である。これをもって考えれば、最先端リリース一本(PPAは豊富なソフトウェア環境でビルドできる)と、複数のLTSリリースならば、コミュニティの分断に対処しやすいのではないか。

二つ目に、LTS定点リリースで新しいハードウェアと新しいソフトウェアへ対応するという仕組みは、うまく行く事が証明された。例えば、クラウドアーカイブは最新のOpenStackのリリースを12.04 LTSに対応させ、現在のところ、OpenStackを利用する最も人気の方法である。定点リリースは新しいカーネルと新しいOpenStackと新しいUnityを12.04 LTSに導入した。我々がこの動きを加速させない理由はない。stableリリースにこだわる人間にとって良いかどうかは議論すべきところだ。

3つ目に、日々の品質テストはすばらしい。品質チームによるすばらしい仕事は、Ubuntuに多大な期待と貢献をもたらした。raringは今すぐ利用可能だし、何か変なことが起こる危険性は非常に少ない。raringを使っている開発者は増え続けているし、結果としてUbuntuを押し上げている。もちろん、エンドユーザーが使えるほどの品質ではないが、どうしたらそのレベルの品質にできるのか考える価値はある。

raringとは今年の4月にリリースされる予定のUbuntu 13.04のコードネームであり、この文脈では、もっか開発中のUbuntuを指す。Ubuntuの開発版を日々の作業に使うことは可能であり、Ubuntuの開発者の中には実際に使っている者もいる。開発版はソフトウェアのパッケージが頻繁にアップデートされるので、いわばローリングリリースにだいぶ近い状態にある。ただし、その品質や安定性は、広くエンドユーザーが使えるレベルではない。そのため、通常のユーザーは、開発版のUbuntuは使わず、来月まで待つべきである。さらに安定を求めるユーザーは、二年ごとにリリースされるLTSリリースのみを使うべきである。それはさておき。

非現実的な期待

議論の中で、非現実的な期待の声も目にした。

例えば、Ben Collinsの、PowerPC OEMの必要性についてだ。Benは友人であり昔の同僚であるから、私としても賛同したいのだが、アーキテクチャーのサポートは、Ubuntuの非商業活動としては不向きだ。昔、IBMとCanonicalは、UbuntuをPowerPCアーキテクチャーに提供することも議論したが、山積みの課題は独りCanonicalのみで解決できるものではなかった。UbuntuがBenにとって使いやすければ私としても嬉しいのだが、いや、実際彼の仕事として最高のプラットフォームであることは確実であるが、このことに何百万ドルも金を費やすよりも、クラウドコンピューティングとかモバイルに費やしたほうがいい。そっちのほうが社会とコミュニティや、我々の商業活動に対する影響も大きい

根拠のない妄想

天地が崩墜することなんてないよ

いやマジで。

Ubuntuは共通の目的を持つ有志の集まりである。その目的を達成するのは、我々の役目であり、皆が意見を持ち、貢献できる。Canonicalの貢献は多大だ。Canonicalが他の誰よりも「我を通す」なんてのはナンセンスだ。実際、私の要望は半分も通っていない。そうはいかないのだ。多くの人が各々の能力の限りを尽くした結果がUbuntuだ。

Canonicalとコミュニティの共同作業こそがこのすばらしい傑作を作れるのだ。世の中には多くの純粋なコミュニティだけで成り立っているディストロもある。まあみてみなよ。彼らはやたらと内部の政治闘争や不満や買収や失望に満ちあふれている。何故か? 人は人で、作業は難しく、協力作業はもっと難しいからだ。これはCanonicalに限った話ではなく、人生のあらゆることに言える。実際、私が知り、また参加したほとんどの純粋なコミュニティプロジェクトにおける一番の関心ごとは、「ああ、誰か厄介事を片付けてくれる奴がいたらなぁ」というものだ。UbuntuにはCanonicalという奴いる。我々の協力作業により、Linuxファンの仲で最も人気のプラットフォームにしているのだ。

Ubuntuに愛想が尽きたなら、去ればいい。それは普通のことだ。なにか別のことをしたいからといって、昔の井戸に毒を投げ込む必要はない。

我々が統合から指南に軸を移したのもこのためだ。

我々はその初め、最高のオープンソースの調べを提供したいと宣言した。見た目を決定するのはKDEやGNOMEやXFCEの役目であり、我々は単に統合して提供した(これも難しい問題ではある)。2009年になって、私はとうとう、既存の自由ソフトウェアコミュニティの中に、今のプロプライエタリな指導者に挑戦できる見た目を提供できるものはいないと分かった。そこで、我々が本気で自由ソフトウェアが標準となる夢を実現しようとすれば、我々が指南しなければならないのだ。

その結果がUnityだ。UnityはケータイやタブレットやPCやその他のデバイスに広く受け入れられる見た目だ。もちろん、これは破壊的な変更であり、既存のコミュニティの一部のメンバーは拒絶した。思うに、人ごとに好みは違うのだろう。そこで、我々は、無制限ではないにせよ、多大な労力を注いで、KDEやGNOMEやその他のデスクトップ環境をUbuntu傘下で提供している。また、我々はUnityとその他のデスクトップ環境を両方サポートしたい開発者も引き入れている。しかし、我々が単なる物好きのためのプラットフォーム以上の存在になるためには、我々はUnityに注力して、AndroidやChromeやWindowsやAppleと戦っていかなければならない。これは我々の自由ソフトウェア標準の夢を共有しない連中の需要を満たすよりも重要なことだ。

人生一度きりの機会

オープンソース界で一目おく人間は皆、ひとつの夢を抱いている。例外なく、自由ソフトウェアが標準になってほしいのだ。Ubuntuはその夢を実現できる唯一の方法であり、だからこそ私は人生を捧げており、大勢の人たちが多大な時間を割いているのだ。

私は変人になりたいと願う烏合の衆には何の関心も持たない。オタク御用達。「Linuxはバカ避けのために難解であるべきだ」とか宣うのは、頭のいい連中のたわ言だ。人は人であり、そういう価値観の頭のいい連中もいるということだ。

私の関心は、消費者とエンタープライズコンピューティングの指南車である、自由にしてオープンなプラットフォームを作れる、この人生一度きりの機会だ。

Ubuntu(とUnity)によって、我々にはその機会がある。これはすばらしいことだ。考えてもみたまえ、史上初めて、自由ソフトウェアプラットフォームが、モバイルやクラウドといった分野で、実際に革新的な指導力を発揮していると評価されているのだ。これに君の時間とエネルギーを注ぐのは、真に世界に影響を与えるのだ。まさに参加すべし。オタクな連中の中を見回し、袖をめくって、改良に興味のあるものを探し、参加しろ。己の能力向上だけでなく、自分の欲しいものが手に入るのだ。理想だけで物事が勝手についてくると考えているのなら、一生実現しない。

我々がさらに開発を進め、そして共同開発したならば、Ubuntuはケータイ、タブレット、PCに大きく広がったプラットフォームとなる。何百万人もの人々に日々使われるツールを設計し、開発し、修正する満足感を得られる。実に価値のあることだ。一体どうやって目的を達成するのが一番かと常に問いかける我々の手法に注目すべきだ。この手法により、定期リリースは評価と進化のための目的なのだ。

さらに早く

つまり、ローリングリリースは真のリリースではないわけだ。

しかし、定期リリースは悪くない。リリースは難しいとはいえ、己を律する良き主人だ。リーンソフトウェア開発における決まりがある。何かが難しければ、より頻繁にやれ。そうすることにより、労力を難しい問題に集中させ、上達させ、簡単にするからだ。アジャイル開発やdevopsやjujuなどの根底に流れる思想がこれだ。

Webが主流となる世界では、ソフトウェアの成長速度は過去最高になっている。6ヶ月は十分に早いと言えるだろうか?

だから、こう問うてみてはどうか。もっと早く出来ないか? 年にもっと多くリリースできないか? そのプロセスを自動化して、エンドユーザーにも使えるように出来ないか?

これが、ローリングリリースにおける議論の前提となるべきだ。

  • 定点間のアップデートのプロセスをもっと安定させられないか? 今アップデートするのは可能である、しかし、多数のアップグレードを経てシステムをクリーンに保つのは、APTのスキルが必要になる。
  • LTSにおける定点リリースをもっと強くして、定期リリースをもう少し軽く出来ないか?
  • リリースの管理を、例えば月例にして、しかもスナップショットではなく本物のリリースに出来ないか?

日々の品質テストにより、Ubuntuの開発版リリースは、開発者にとっては利用可能になっている。これは重要な達成といえる。さて、エンドユーザーにした約束をよく考え、さらなる革新が行えないか考えてみよう。我々がその昔、Ubuntuを6ヶ月定期リリースにしたことで革新を起こしたように。

まあ、Mark Shuttleworthはなかなかの理屈家だとは言える。

まあ、UnityをもってUbuntuを批判するのはどうかと思う。Ubuntuは公式レポジトリで主要なデスクトップ環境を提供していて、標準のパッケージマネージャーを使って一発でインストール、アンインストールが可能だからだ。気にいらないなら変えればいいだけの話だ。それに、いざとなれば手動で変えるという手もある。手動によるデスクトップ環境の変更を妨げる邪悪な制限もないわけだ。どこぞの不自由なOSは、デスクトップ環境を変更したければ、非公式なバイナリパッチをあてて無理やり書き換えるしかないらしい。哀れみすら覚える。

ただし、Mirは少し疑問だ。はたして、Canonicalにディスプレイサーバーを独自実装するだけの力があるのだろうか。しかも、あれだけWaylandを持ち上げておいて、いきなり手のひらを返してMirを発表したというのも解せない。

No comments: