マツド・サイエンス研究所

Debian Linux Etch 正式リリース

なんやかやと忙しくて、チェックして居なかったのだが、いつの間にか 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 のバージョン番号のメジャー/マイナーと、ユーザーが受け止める印象のメジャー/マイナーが逆転しているのは事実だ。

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

注意

ブログのコンテンツの内、「告知」など時期よって情報価値が無くなるのは除いてある。また、コンテンツに付いたコメントは書き込み者に著作権があるものと判断し、ここに持ってきていないので、コメントを見るときは、元々のブログコンテンツを参照してもらいたい。

その他、ブログ発表後、コメントなどの内容を反映するなど、内容を変更しているものもあるので、注意してほしい。