« エイプリル・フール | Main | 最近の若い者は・・・ »

April 11, 2007

Debian Linux Etch 正式リリース

E088なんやかやと忙しくて、チェックして居なかったのだが、いつの間にか Debian Linux Etch 正式リリースされて居た。リリース日は、4 月 8 日となって居たが、アメリカ時間だろうから、実質的に日本では 9 日のリリースだったんだと思う。でも、うかつなことに昨日(10日)まで気が付かなかった。

Etch は、現在の無料ディストリビューションの Linux では決定版の一つなんだと思う。もちろん、 Linux の無料ディストリビューションには、他にも ubuntu を初め魅力的なものも多いが、やはり Debian Linux はメジャーかつ影響力の大きなディストリビューションの一つには違いないだろう。
にも関わらず、Debian Linux への関心の低さには驚いてしまった。ネット上のニュースにも、ほとんど話題に上がって居ない。やはり、既に Linux の「ブーム」は去ったのであろうか?

さて、未だに正式リリースされた etch を使ってないので、確かなことは言えない。が、非公式版の Etch を使って居るので、そこから推定すると、前のバージョンである Sarge のブラシアップ版と考えるのが良いようだ。もちろん、カーネルが新しくなったり、Xが X.Org になったり、日本語が UTF8 になったりと色々と新しくなり、使いやすくなって居る筈だ。だが、ユーザーから見れば、「ブラシアップ」と見えてしまうだろう。

Sarge の更に前のバージョンは Woody と言ったのだが、この Woody の時代の Debian Linux は、サーバーとしての用途なら十分使えるものだったが、デスクトップ用途には使えない OS だった。それに対し、Sarge はデスクトップとして使用に耐える OS だったから、Sarge が出た時は、「刷新された」と言う印象が強かった。

つまり、私の印象としては、「Woody から Sarge」はフルモデルチェンジ、「Sarge から Etch」はマイナーチェンジと言う感じだ。
ところが、バージョンナンバーは Woody が 3.0 、Sarge が 3.1 、Etch が 4.0 である。つまり、バージョンナンバーから言うと、「Woody から Sarge」はマイナーアップデート、「Sarge から Etch」はメジャーアップデートになっている。「印象」と「バージョンナンバー」で逆転して居るのは、どういう意味だろう?

同じような事を Firefox でも感じた。Firefox のバージョンナは、1.0、 1.5、 2.0 と上がって居る。言うまでもなくバージョンナンバーから言うと「1.0 から 1.5」はマイナーアップデート、「1.5 から 2.0」はメジャーアップデートだ。でも、私の使って居る印象では、「1.0 から 1.5」はフルモデルチェンジ、「1.5 から 2.0」はマイナーチェンジだ。

私の受ける印象が間違って居るのだろうか?

この話を、他の人にしたら、「オープンソースの場合、バージョンアップに対して自信があれば、メジャーアップ、自信がなければマイナーアップにする」と言う噂があるんだそうだ。

つまり、Woody から Sarge や Firefox の 1.0 から 1.5 のような時は、本当は内部を刷新して居るのだが、色んな要素を入れるあまり自信が無いので、マイナーアップの番号をふる。逆に Sarge から Etch や Firefox の 1.5 から 2.0 のような時は、あまり新しい要素を入れておらず、ブラシアップだから自信があって、メジャーアップの番号をふると言うのだ。

噂の真偽は判らないが、これは私の印象と一致する。


私自身が公開して居たフリーウエアを振り返ると、ちょっと違うが、同じような経験した事を思い出す。
そのフリーウエアは、3Dのモデルを表示するプログラムだったのだが、最初のバージョンは、とにかく表示するだけが精一杯の寄せ集めのコードの固まりだった。詳しいバージョン番号は忘れてしまったので、便宜上、これをバージョンAとしよう。

次のバージョンは、プログラムを整理することに集中した。具体的にはオブジェクト指向を厳密に適応し、表示する3Dモデルのデータ構造のオブジェクト化を行った。この結果、バージョンAでは、たった一つの3Dモデルしか表示できなかったのを、新しいバージョンでは、メモリの許す限り幾つでも3Dモデルを同時に表示できるポテンシャルをもたせることができた。ただし、このバージョンの公開時、同時に表示できる3Dモデル数を決める変数 n=1 とし、ユーザーインターフェースも全てバージョンAと同一とした。これをバージョンBとする。

続く、バージョンCは、複数モデルの同時表示機能をリリースした。プログラム的には大したことをしたわけではない。先程の変数 n に 10 とか 20 とか入れただけだ。ただし、複数の3Dモデルを設定できるようにダイアログを改修した。

プログラムを作って居る私にとって、バージョンAからBへの改修は大変な苦労だった。
だが、ユーザー側から見れば、機能もユーザーインターフェースも全く変更の無い「マイナーなバージョンアップ」に見えただろう。

それに比べ、バージョンBからCへのバージョンアップは、ユーザーにとって大きいものと映っただろう。機能も増え、ユーザーインターフェースも変わって居るのだから。しかし、プログラマーとしての私にとっては大きな変更では無い。

なぜ、バージョンAからBへバージョンアップの時、同時に複数の3Dモデルを表示できる新機能を追加しなかったのか?
それは、バグを恐れたからだ。

バージョンAからBへの改修では、内部のデータ構造をほとんど完全に刷新した。それがバグを生み悪影響を与えることを懸念したのだ。もちろん、一般公開前に自分でデバッグできるだけデバッグしてはいるが、それでも限界はある。一般に公開して沢山の人が使うようになると、私一人では取り切れ無かったバグが出てくる可能性が高い。

バグが発生した時に、データ構造に起因するバグか、ユーザーインターフェースなどの他の要因に起因するバグかを切り分ける必要がある。切り分けの時の繁雑さを避けるためにバージョンAで実績のあるユーザーインターフェースを、そのまま使うことにした。バージョンAのユーザーインターフェースは、単一の3Dモデルしか扱えない。そこで、バージョンBは、バージョンAと同じく単一の3Dモデルしか表示できないように機能を制限してリリースしたのだ。

バージョンBを公開し、データ構造に起因するバグを取り除いた後、複数の3Dモデルを表示するように機能制限を取り除いて、バージョンCとして、公開した。

この私の経験のような例では、プログラマーの心情としては、バージョンAからBへが「メジャーアップ」、バージョンBからCへが「マイナーアップ」と感じられる。しかし、ユーザーから見れば、メジャーとマイナーが入れ替わる。

Debian や Firefox の場合、先程の「自信があるなし」の噂か、それとも私の経験と類似した「プログラマーの心情と、ユーザーの逆転現象」か、はたまた全く別の理由なのかは定かではない。

しかし、少なくとも私が見た限りにおいて、Debian や Firefox のバージョン番号のメジャー/マイナーと、ユーザーが受け止める印象のメジャー/マイナーが逆転しているのは事実だ。

ただでさえ、オープンソースの先行きが怪しくなった現在だからこそ、ユーザーが戸惑わないようなバージョン番号をふってもらいたいと思う。

|

« エイプリル・フール | Main | 最近の若い者は・・・ »

Comments

外から見ていると日本の液体燃料ロケットも同じネーミングルールかな?と思っていました。笑。
H-I:上段の刷新なのでN-III?
H-II:システム全体として新規開発なのでH-I?
H-IIA:全体の改良ではあるけど構成が同じなのでH-IA?
H-IIB:第一段の新規開発なのでH-II?
という印象なのですが。。。
予算獲得のテクニックなのかな?

Posted by: kzmakino | April 11, 2007 09:00 PM

少なくともN-IIからH-Iについては、「プログラマーの心情と、ユーザーの逆転現象」と言う気がしますね、この場合は、「技術者の心情と、ユーザーの逆転現象」ですが。

作った技術者側を代弁しますと、
ロケットなんて、概ね、
「一段目」と「二段目」と「三段目」と「航法機器」
で構成されています。「ブースター」は一段目の付属で、「衛星」はロケットとは別物です。

N-IIは、これら4要素が全てアメリカ製もしくはライセンス生産品でした。
H-Iは、「二段目」と「三段目」と「航法機器」を、自国開発の国産品に置き換えています。構成要素の3/4が置き換わっていますから、「フルモデルチェンジ」
特に、このとき開発した「二段目」と「航法機器」は、改良が加えられていますが、いまだに現役で使いつづけられています。
「二段目」のエンジンは、液酸+液水の高比推力だけでなく、「再着火可能」と言う切り札を持っていました。この切り札は、H-Iでは不要な機能で実運用では封印されていました。試験飛行の時にテストされただけです。
しかし、封印された「再着火」機能は、H-II以降のロケットを基本コンセプトから左右する大きな切り札でした。この機能があり、軌道上でのテストに成功したと言う実績があったらこそ、H-II以降のロケットから、「三段目」をなくすことができたのです。
技術者から見たら、中身が75%も変わっているのですから、「フルモデルチェンジ」です。設計の基本コンセプトも大きな変更です。
でも外観は、ほとんど一段目とタンクで決まりますよね。だから、マイナーチェンジにしか見えません。
逆にH-IからH-IIへの変更は、「一段目」だけです。「三段目」は無くしましたが。(三段目を無くすのは大きな変更には違いませんが、既に述べているように、その布石はH-I開発開始時点から打ってあるので、H-II開発時では単に無くしただけです。)
「二段目」に至っては、そのままです。もちろんエンジンも二段目に乗っている「航法機器」も改良が加えられましたが。外観が全く違うって? 外観なんてタンクですよ。単にタンクの容量が増えただけ!

とまあ、そんな感じです。
H-IIA以降のロケットのネーミングに付いては、ゴニョゴニョゴニョ・・ですが。

Posted by: 野田篤司 | April 14, 2007 07:47 AM

なるほど!とてもすっきりしました。
外から見ていると外形を構成する大物=第一段タンクとエンジンに目が行きがちですが、航法装置や2段目の技術実証などなど、次世代への”仕込み”の大きさもあってこその"H-I"のネーミングだったのですね。
外見や機能が大きく変わる前に、布石や基礎固めとして中の開発を進めた時がメジャーバージョンアップの時期だと。

Debian GNU/Linux etchもユーザ的外見的にどうこうというよりも、インストーラやパッケージマネージャ、カーネルの2.6後半系へ完全移行など、次のステップへの基礎固めをしたのでメジャーバージョンアップにしたのかなぁと、個人的には思っていました。

という感じで、ユーザと開発者の考えなんて往々にして一致しないってことなのでしょう。ましてマーティング担当者の考え方なんて。。。ね。笑。

Posted by: kzmakino | April 14, 2007 06:29 PM

The comments to this entry are closed.

TrackBack


Listed below are links to weblogs that reference Debian Linux Etch 正式リリース:

« エイプリル・フール | Main | 最近の若い者は・・・ »