なぜ拡張はバンドルされないのか
初回投稿日時: 2006年07月27日02時36分57秒
カテゴリ: Firefox Thunderbird
SNS:
Tweet (list)
鎌倉でも聞かれたし、前々から聞かれることが多々あったので一応理由を書いておく。ただし公式情報ではないので注意。
拡張とはなんぞやと考えてみると理由は簡単。Piroさんの言う、野良パッチ
という表現が非常に端的で的を射ている。拡張とは本体に組み込む手続きをとらなかった、もしくは手続きを行ったものの拒否された、開発コミュニティ非公認のパッチである。つまり、これを正式にプロダクトにバンドルさせるということはあり得ない。他のソフトウェアでこのようなことが行われているのだろうか? 私はそういう事例を知らないし、賢明な話とは思えない。もし、拡張の中にスパイウェアが含まれていたら? 考えただけでもぞっとする検証作業が必要ということが分かる。
仮に、開発コミュニティが奴隷のように働き、その結果、いくつかの拡張をバンドルすることになったと仮定してみよう。当然、開発コミュニティはその拡張のメンテナンス義務を持たなくてはいけなくなる。つまり、ツリーにコードを取り込み、ビルドシステムを修正して拡張をビルド時に生成できるようにし、インストーラに取り込まれるように修正し、bugzillaにコンポーネントを新設してバグ報告を受け付け、バグが報告されれば修正をしなくてはいけなくなり、コアやそのベースとなるFirefoxやThunderbirdを修正する際にはそれらの拡張についてもregressionが発生しないようにパッチ作成時にテストが必要となる。これはとても非現実的な話で、開発ペースは間違いなく鈍るし、Mozilla Corporationはもっと多くのフルタイム労働者を雇用する必要が出てくる。拡張の作者がメンテナンスを続けるから良いんじゃないかなんて楽天的な話は当然通用しない。いつまでも拡張に対してボランティア活動を継続してくれるとは限らないし、フルタイムで雇おうにも、なぜ元々、大抵の拡張作者は本体をハックするという行動をとらずに誰の承認も必要の無い開発手法を選択したのだろうか? その理由を想像してみると、雇うからやってくれと言われて、「はい、やります。」と言う人はほとんど居ないと考えるのが普通だと思う。