マツドサイエンティスト・研究日誌 保存版
Debian Linux Etch 正式リリース

初出:2007年04月11日 元々のブログ・コンテンツへのリンク
カテゴリーのインデックス: パソコン・インターネット
シリーズのインデックス: Linux

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

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