アドオンの互換性と高速リリースサイクル

[これは Mozilla Add-ons Blog の記事 Add-on Compatibility & Rapid Releases の抄訳です]

最近、Firefox の開発が 高速リリースサイクル へ移行し、これまでよりかなり迅速に、新機能、セキュリティ、安定性、その他のバグ修正を、数億人のユーザへ届けることになりました。このエキサイティングな新リリースサイクルに対応するため、多くの変更が必要となりますが、影響を受ける最大の分野のひとつがアドオンの互換性です。

Firefox の従来のリリースでは、アドオンは、作者が手作業でテストを行い、対応を行ったバージョンをアップロードする [対応不要な場合は AMO の開発者センターで互換性情報を編集する] まで、新バージョンとの互換性が更新されませんでした。こうしたプロセスでは、すべてのアドオンが新バージョンに対応するまで数か月かかっていました。Firefox のリリースが頻繁でなければ、それでも何とかやっていけました。今後の互換性について Mozilla が提案する計画では、非互換性が検出されるまでは、アドオンは新バージョンと互換性を保っているものとみなします

この新しい提案に従い、AMO に登録されていて直前のメジャーバージョンと互換性のあるアドオンは、正常に動作しないと判別されない限り、次のメジャーバージョンの Aurora ブランチが切られる直前に互換性情報が自動的に更新され、その新バージョンに対応しているとみなされるようになります。

Aurora チャネル、ベータ版、最終版を使用している場合、インストールされているアドオンの大半は自動的に互換性情報が更新されます。ナイトリービルドのユーザは、できれば Add-on Compatibility Reporter をインストールして、これまで通り互換性チェックを無効にする必要があります。

互換性フロー

このプロセスの仕組み

重要な点は以下の 3 つです。

  1. Firefox とプラットフォームの開発者は、あらゆる変更点についてアドオンの互換性を考慮すべきです。 アドオンの互換性は、Aurora チャネルやベータチャネルに昇格される変更点の評価基準に含まれます。Add-on SDK がまだ安定していない Firefox 5 や 6 の時点では、アドオンに影響を与える変更は最小限に留めることが特に重要です。Add-on SDK が今夏に正式リリースされたら、互換性に対処する優れた代替策となるでしょう。
  2. 互換性に影響を与える変更を行う場合、Firefox 開発者は事前に、標準的な互換性通知プロセスに従って、変更点の説明、変更を行う理由、影響を受けるアドオンを特定するためのパターンを示さなければなりません。これらの情報はドキュメントの更新やブログの投稿に使用され、パターンは AMO の互換性スキャナに追加されます。
  3. Aurora のブランチが切られる前日に、AMO の互換性スキャナが実行され、すべてのアドオンの最新版が最新のビルドと互換性があるかどうか検証を行います。潜在的な非互換性を示すフラグの立ったアドオンや、バイナリコンポーネントを使用しているアドオンについては、互換性情報は更新されず、特定された問題を知らせるメールが作者に送られます。作者は、それらの問題を確認、修正した後、手作業で互換性情報を設定して、今後のリリースに向けた自動プロセスに再び加わることができます。フラグの立たなかったアドオンは、自動的に互換性情報が更新され、新バージョンに対応します。

AMO に登録されていないアドオンは、独自の updateURL メカニズムを使用すれば、AMO で提供している仕組みと同様に、実際にアップデートを実施することなく互換性情報を更新できます。また、AMO の 独立型バリデータ を使用すれば、アドオンを AMO に登録することなく互換性テストを実行できます。

一部の変更点、特にユーザインタフェースに関する変更は、自動判別が難しいことが分かっています。次のフェーズで、Compatibility Reporter をインストールしているナイトリーテスターから寄せられた互換性の報告を統合し、アドオンの互換性が突然損なわれた場合はそれを判別できるようにする予定です。

Aurora 5 は既にリリースされていますが…

Mozilla ではまだ、互換性の検出、作者への通知、互換性情報の自動更新を行う ツールの開発 を進めているため、このプロセスは Aurora 5 には間に合いません。ただし、ベータ期間中には 4.0.* に対応済みのアドオンを 5.* へ自動的に更新できる見込みです。なお、上の画像で示したフローでは各チャネルが 6 週間となっていますが、Firefox 5 ではさらに速いサイクルを採用しており、このフロー通りにはなっていません。

Mozilla ではこの提案に対するフィードバックを求めています。ニュースグループのスレッド で行われている議論に参加してください。