Mozilla Flux

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

FUELはなくなる

FUELは、拡張機能開発者向けにFirefoxが標準で提供するJavaScriptライブラリで、開発上の余計な負担を減らし、生産性を高める狙いがある。Firefox 3から導入された。

そのFUELが、Firefox 4で廃止される可能性が高まってきた。このことを最初に指摘されたのは、Alice0775氏だ。『FUELがなくなる?』には次のような記述がある。

Bug 536504 - Remove fuelApplications.js from the startup path
によるとFUELを起動時には組み込まないようになるらしい。
拡張機能等で使うには拡張機能自信[ママ]で組み込まなければならなくなる。

http://blog.mozilla.com/rstrong/2009/12/23/firefox-javascript-component-startup-costs/
起動時の実行時間コストが大きいからだそうだ。

引用元の記事では、FUEL用のJavaScriptコンポーネント(fuelApplications.js)を読み込むのにかかる時間が、ほかよりも目立って長いことが示されている。そこで、Bug 536504では、Firefoxの起動時間を短縮するため、fuelApplications.jsを起動時に読み込まないようにしてはどうかと提案されている。

ただ、これだけでは、たんにFUELの扱いが悪くなったにすぎないとも理解できる。しかし、最近の開発責任者たちの発言をみると、彼らは本気でFUELを廃止するつもりのようだ。

たとえば、Mozilla CorporationでVice President of Engineeringを務めるMike Shaver氏は、現行のテーマとPersonasを比較検討する議論の中で、次のように漏らしている

A similar, though not analogically perfect, case from my own work: I originally dreamed up and got people to work on FUEL, as a way to make extension authoring easier and more future-proof. It didn't really pan out, though it's used by some people. Jetpack is a much more promising direction for reaching that goal. Do I feel a bit of sting that we're going to deprecate FUEL in favour of Jetpack? A little: I "was there first" with API improvements for extension developers, and very similar goals. But not a lot, when I think about it: I did FUEL because I wanted to make it easier for developers to make extensions, and that goal is being attacked much better than it was before.

当初は拡張機能の開発を容易にし、将来の環境の変化にも耐えられるものとしてFUELを導入したが、あまりうまくいかなかった。しかし現在では、同じ目的に資するものとして、Jetpackというはるかに見込みのある仕組みが存在しているから、Jetpackを支持してFUELを廃止するとしても、わずかな痛みしか感じないという。

また、Firefoxの開発責任者Mike Connor氏は、『On Personas and themes』において、PersonasとJetpackの推進は戦略的な決定に基づくものだと述べている。

This is a strategic product decision, intended to grow our developer ecosystem and broaden the scope of potential developers as much as possible, and deliver a much better user experience with customizations across core application updates. Deprecating the old systems in favour of the new systems is a required part of the strategic plan, because it is not enough to simply build a better system, we must migrate our users and our developer ecosystem to that system to reap the benefits. That does mean, in effect, that we are discriminating against the old systems, and I am personally at peace with that.

Connor氏は、新システムを支持して旧システムを廃止することは戦略プランの一環だとしており、この点は将来的に現行のテーマをサポートしない趣旨にも読めるため、かなり思い切った発言といえるだろう。ただ、『Firefox 3.6の軽量テーマ優遇は明確な意図に基づくもの』で紹介したように、開発総責任者のMike Beltzner氏は、現行のテーマをFirefoxをフルカスタマイズするための拡張機能と捉えて存続させる方向で考えており、Mozillaによるサポートがなくなることはないと思われる。

これに対し、利用者が少なくJetpackとの機能的な重複部分が大きいFUELは、非常に厳しい立場に置かれている。暫定ロードマップを参照すると、JetpackをFirefox本体に統合することは確実とみられ、Firefox 4のリリースに伴ってFUELのサポートが打ち切られたとしても、何の不思議もない状況である。

(10/01/11追記)
海外では上記のMike Connor氏の発言が大きな波紋を呼んでいる。そのため、開発総責任者のMike Beltzner氏が事態の収拾に乗り出し、Beltzner氏のコメントをMozillaエバンジェリストのAsa Dotzler氏が転載して加勢する事態に発展した。

本記事はFUELを主に扱ったが、Connor氏の発言は、もっと広く、近い将来に現在の拡張機能やテーマを全廃してJetpackとPersonasに移行する、とFirefoxの製品チームが決定を下したかのようにも受け取れる。もちろん、そんな決定は存在しないのだが、コミュニティに動揺が走ったので、チームのトップが釈明した次第である。