2013-03-12

Mark Shuttleworth、またもやリリースモデルについて書く

Mark Shuttleworth » Blog Archive » Let’s go faster while preserving what works best

最近の批難多きUbuntuの動きを弁護するためか、Mark Shuttleworthは頻繁にブログを書いている。今回は、リリースモデルについてだ。最近、Ubuntuのコミュニティと、Canonicalの一部の開発者の間でも、ローリングリリースモデルが盛んに議論されている。

結局、何が問題なのかと言えば、パッケージ更新の遅さだ。Ubuntuは六ヶ月おきにリリースされる。ほとんどのパッケージはリリースにあわせて一斉に更新される。しかし、一部のソフトウェアは、もっと短い単位で頻繁に更新される。そのため、一部のソフトウェアには、6ヶ月にすら長すぎる。

ローリングリリースは、この問題に対する一つの答えだ。パッケージごとに独立してアップデートされるので、全体の都合を考える必要がない。もちろん、多くのソフトウェアから依存されているソフトウェア(Linuxカーネルや有名なライブラリ、システムを構成する基本的なソフトウェアなど)のAPI互換が失われるような更新は注意を払う必要があるが、大多数のソフトウェアは、そのソフトウェアが壊れるかどうだ。

ローリングリリースの欠点は、やはり安定しないという事だ。結局、多くのソフトウェアから依存されているソフトウェアをアップデートした結果壊してしまい、多くのソフトウェアが巻き添えを食らうとか、ひどい時は、ブートローダーやその設定に不具合が発生してブート不可能になり、また不安定なドライバーにアップデートしてしまいブート不可能になり、そこまで悲惨ではないが、多くのユーザーにとってはブートしないも同然のXが起動しなくなったりと、まあ、ろくな目に合わない。

結果として、ローリングリリースモデルを採用するディストロは、ド素人お断り、玄人御用達、自分で直せない奴はおととい来やがれの雰囲気になり、デフォルトではXすらインストールされず、GUIの設定ツールが疎んじられ、それよりも設定ファイルのドキュメントを豊富にするよう強く要求され、そもそもすべてのソフトウェアはユーザーの環境でコンパイルされるべきだ、コンパイラーのメッセージを眺めるのが実に心地よい、ここはアニメのチャンネルか? ちょうどいい。FreeBSD上でKDE2にパッチあてる方法を教えてくれといった、まあなんだかよくわからない集団に成り下がるのである。

まあ、それはそれで面白くもあるのだが、そんな自称玄人はわざわざこんな駄文を読んだりしないだろうから、幸いにして、このブログがGentooユーザーやArchユーザーにより炎上する危険性は皆無である。

話がそれた。

Mark Shuttleworthによれば、あらかじめ期間を区切って、リリース予定に間に合わせるために頑張るというのは、開発者を律する良き方便であるとのことだ。無期限であると、だらけがちになり、品質保証もおざなりになるという。

その上で、Mark Shuttleworthが今回提案しているのは、LTSでも、API互換を壊さないようなソフトウェアは、従来の保守的なパッケージに加えて、頻繁にアップデートされるオプショナルパッケージを提供しようではないかというものだ。また、Linuxカーネルも、LTSリリース時のカーネルの保守はもちろんだが、LTSでも新しいカーネルを提供するオプショナルなパッケージを提供しようではないかとしている。また、API互換が維持されるならば、最新版のソフトウェアをもってこよう。たとえば、Ubuntu 13.04のUnityはUbuntu 12.04のUnityより高速化されているから、Ubuntu 12.04にも持ってこようなどとも言っている。

これは、すでに一部ソフトウェアでは行われている。その範囲を広げようというものだ。

また、そのために必要な労力を確保するため、LTSの間の定期リリースの保守期間は、7ヶ月にしようと提案している。つまり、六ヶ月間隔の定期リリースを使いたいユーザーは、常に最新の定期リリースにアップグレードしなければならなくなる。まあしかし、六ヶ月間隔でリリースされるUbuntuを使っているユーザーの大半は、すぐにアップグレードするだろうから、これは問題ないだろう。そういう頻繁なアップグレードを望まないユーザーは、最初からLTSにすべきなのだ。

また、ローリングリリースとだいぶ似通った開発版Ubuntu(主に開発者が開発状況を把握できるようにするため、最新のソフトウェアとドライバーを積極的に導入している)は、わざわざ6ヶ月おきに"raring"とかいう別の名前にするのはやめて、例えば"tip"リリースとかにして、アップグレードしなくても、そのまま使い続けられるようにしてはどうかという提案もしている。

No comments: