Mozilla Flux

Mozilla関係の情報に特化したブログです。

Firefox 3.1のリリース時期

Firefox 3.1はいつごろリリースされるのだろう。Mozilla Wikiにはリリース予定表が掲載されているけれど、3.1 Beta 3のリリース予定日が米国時間で2009年1月26日だと記述されているだけで、正式版のリリースにはまったく触れられていない。ちなみに、このBeta 3のスケジュール、1月初めには見直される予定だ。前倒しできないか検討するためである。

当初の予定では、Firefox 3.1のリリースは2008年末だった。この背景として、Mozilla Corporationの技術担当副社長Mike Schroepfer氏(当時)が発表したリリース計画を押さえておくべきだろう。Schroepfer氏は、2008年6月18日(米国時間)、"What's next after Firefox 3"と題する文章をブログ上で公開した。そこでは、これまでのメジャーリリース(Firefox 1.5、2、3など)とセキュリティーリリース(Firefox 2.0.0.14など)の中間に、「マイナーリリース」を設けるべきだと論じられていた。Firefox 3.1はそのマイナーリリースの第一弾として計画され、Firefox 3のリリースから5〜9か月後にはリリースされることになっていた。

この当時、前日にはFirefox 3がリリースされていたのだが、Firefox 2の最初のリリース日である2006年10月24日からは、優に一年半以上が経過していた。それまでメジャーアップデートは一年のサイクルを想定していたから、時間がかかりすぎている。もっと小刻みにバージョンアップし、他のWebブラウザに対する優位性を保とうと考えたのだろう。Schroepfer氏は、開発者向けに、より詳細なドラフトプランを出していたのだが、そこには、3.1は2008年末のリリースをターゲットにすると明記されていた。

しかし、当初の予定に入っていなかった新機能が追加されることになり、状況が変わった。一つは、TraceMonkeyと呼ばれるJavaScriptのJITコンパイラだ。詳細は省くが、その都度JavaScriptのコードを解釈しながら実行するのではなく、実行時にマシンが直接実行可能なプログラムに変換して、処理速度を大幅にアップさせるものである。もう一つは、プライベート・ブラウジング・モード。Webブラウザを利用中、閲覧履歴やキャッシュなどを残さないようにする技術だ。今ではFirefox 3.1の目玉ともいえる二つの機能だが、追加は後から決まったのだった。3.1はあくまで「マイナーリリース」であり、もともと3.0に入れようと思っていたが、開発に時間がかかって入らなかった機能を付け加えるだけ、というのが当初の予定だったのだ。なお、プライベート・ブラウジング・モードは、8月ころには3.1への投入は非常に困難だと見られていたが、9月に入り一転して開発が進み、現在に至っている。

状況が変わった結果、どの程度リリース時期を遅らせたのか。実は、正式なアナウンスは出されていない。ただ、おもしろいことに、MozillaのメールソフトであるThunderbirdの開発会議で、2009年2月中旬に延期された旨が参加者に伝えられ、その情報がブログに掲載された。公表されている資料としては、この記事が一番確実といえる。

ところが、話はこれで終わらない。開発が遅れているからだ。後知恵で考えてみると、追加する機能を絞らなかったのがまずかった。Beta 1でフィーチャーフリーズ(新機能追加の打ち止め)という話だったのが、9月中旬には、前倒しで開発が進んでいる有望な機能が出てきたので、Beta 2でも例外的な機能追加を認めることになった。そうなると、あれもこれも追加したいと開発者から要望が出る。10月下旬には、開発チーフのMike Beltzner氏らが、複数の開発者に対し、「開発中のその機能はFirefox 3.1では採用できない」と通告して回っている様子が確認されている。また、Beltzner氏は、11月上旬、開発者に向けて、次のようなメッセージを出した。「我々は、フォーカスを思い切って絞り、Firefox 3.1の成功にとって不可欠な修正のみを採用せねばならない時期を迎えている」。が、手遅れだとわかるまで、さほど時間はかからなかった。

11月中旬だったはずの3.1 Beta 2のリリースは、遅れに遅れ、12月8日(米国時間)にようやく登場。Beta 2ではTraceMonkeyをデフォルトで一部オンにすることになっていたのだが、11月中旬時点の開発版(Minefield)で、その影響とみられるクラッシュが多発するありさまだったため、その調整に時間がかかり、品質テスト(QA)も慎重にならざるを得なかった。

誤算はそれだけではない。フォーカスを絞ると宣言した時点で捨てたはずのBeta 3のプランを、復活させることになってしまった。Beltzner氏らFirefox 3.1開発のトップたちは、Beta 2の次はRelease Candidate 1(RC1)というリリース候補版を出すつもりでいた。Firefox 3を開発していたとき、RCを出す前後にバグ報告が集中した経験を踏まえてのことである。テスターと呼ばれる、開発コミュニティに近いユーザーたちは、リリース候補版にふさわしいクオリティを達成しなければならないと、β版のころよりもテストにいそしむ。また、RCのリリースによって一般ユーザーの関心が集まり、利用ユーザー数が一気に増えると、プログラムは自然と厳しいテストに曝されることになり、そのユーザーの声がフォーラムに寄せられて、バグ報告につながる。Beltzner氏らは、こうした事態の再現を予想し、だからこそ、リリース候補版の期間を長くとろうとしたのだろう。

しかし、開発の遅れが続き、主要開発者の多くを説得するまでには至らなかった。リリース候補版を出すには時期尚早という声が強く、Beltzner氏もついに折れた。新機能を追加するためではなく、ユーザーからのフィードバックを集めてプログラムを改良するために、Beta 3を出すことにした。それでも、Beta 2からRC1へ強引に持っていこうとした姿勢には不満も出ているようだ。Beta 2を最終β版にするつもりでmozilla-1.9.1ブランチを作成したのは、無理があったというのである。

こうした紆余曲折を経て、現時点では2009年2月中旬というスケジュールも、到底守れそうにない。Beta 2のリリースが1か月近く遅れ、Beta 3というサイクルが一つ加わったことで、さらに1か月以上遅れるとみるべきだろう。Beta 2以降のプログラム修正をかなり制限しているので、コードフリーズ(修正の原則停止)とその後のQAに問題は出ないとして、2009年1月26日にBeta 3をリリースできたとしても、正式版の登場は、単純計算で2009年4月中旬以降となる。

あとは、リリース候補版の期間をどれほどに見積もるかにかかっている。Beta 3に加えられた改良と、ユーザーからのフィードバックにより、RC1の品質は当初の想定より上がっているはずだ。その分、RC1の開発とフィードバック収集の期間は短縮できる。2月中にRC1が出せれば、3月末の正式版リリースが見えてくる。Firefox 3.1の主要開発者たちが、2009年第1四半期中のリリースを目標としていることは間違いない。最初に挙げたBeta 3の前倒しという話も、そのような文脈で理解できる。

(09/01/03修正:リンク関係、強調表示、引用表示)
(09/01/17追記)その後の動向は『FPD Meeting 2009-01-14』を参照。
(09/01/27追記)残念ながら開発が遅れている。ぎりぎり4月中旬のリリースだろう。詳しくは『Firefox 3.1 Beta 3のコードフリーズが先送り』を参照のこと。