Firefoxのアドオン(Chromeの拡張機能)のストアの公開方法は、Chromeストアに比べると比較的楽です。
基本的にはChromeストアで公開出来るものは、少しの改良でFirefoxのアドオンとしても公開出来るでしょう。
今回は、Firefoxのアドオンを公開する方法を画像付きで紹介。
Firefoxのアドオンを公開・配布する
アップロードするファイルの準備
あらかじめアップロードするファイルを用意します。
ZIPで圧縮
今回はWindowsで標準に圧縮できる「ZIP」で圧縮します。

アップロードするアドオンのファイルすべてを選択します。
続いて右クリックし、「圧縮先」を選択。
※ ファイルは「manifest.json」と同じフォルダにあるファイルとフォルダを選択します。
一個上のこれらが保存されているフォルダ自体を圧縮すると、アップロード後にエラーが出ます。

「ZIPファイル」を選択します。

ZIPで圧縮されたファイルが作成されます。
このままアップロードしてもいいのですが、ファイル名を変更しておきます。

ファイル名は決まったルールはないらしいのですが、わかりやすいようにアドオンの名前とバージョンにしてみました。
ここまで完了したら、開発者センターにアップロードします。
ログイン
まずは開発者センターにログインする必要があります。
以下は、Googleアカウントでログインする場合。

Googleアカウントの場合は、ログインするアカウントを選択します。

Mozilla accountsに結びつけます。
「次へ」をクリック。

2段階認証を設定している人は、コードを入力してログインします。

「アドオン開発者センター」にログインできました。
下にスクロール。
アドオンの登録

「新しいアドオンを登録」をクリックします。

英語で表示されますが、これはアドオンをどこで公開するか。
上の「On this site(このサイトで)」にチェックします。①
下は自分のサイトなどで公開する場合です。この場合、Mozillaの署名が必要になります。
「続ける」をクリックします。②

ロボット判定が表示されるので、「私はロボットではありません」にチェック。

意外とむずかしいししつこいチェックが始まります。
私の場合は、このあとも4回ぐらい別の写真でチェックしました・・・・

無事、ロボット判定を通過すると「ファイルを選択」というボタンをクリック。

先ほど作成したZIPファイルを選択してアップロードします。

エラーがなければこのような画面になります。
「続ける」をクリックします。
ソースコードの提出とは

すると、「ソースコードを提出する必要がありますか?」という質問が表示されます。
ソースコードを提出すべき場合は、
1.コードがミニファイ(Minify)されている場合
コードのサイズを縮小するために、改行、空白スペースを削除し、変数名が短縮されたりと言った、Mozillaのレビュー担当者がコードを読みにくくしている場合。
2.バンドルツールが使用されている場合
複数のJavaScriptファイルを1つにまとめたり、モジュールを結合するツールを使用している場合。
3.トランスパイル(Transpile)やコンパイルがおこなわれている場合
TypeScript、Babel、Sassなどのツールを使って、元のコードが別の形式に変換されている場合。
・・・・
など、一見しただけでは、動作が不明でセキュリティ的に問題のあるアドオンが審査に通ってしまうのを防ぐためっぽいです。
まぁ、私の場合はもちろんそのようなツールを使っていないので、「いいえ」をチェックして、「続ける」をクリック。
要するに、審査員がわかりにくいような仕様にしている場合は、見やすいようなソースコードを提出してください、と。
私がアップロードしたアドオンは、単純なCSSをいじる(挿入)するだけなので、「いいえ」を選択しても審査に通るでしょう。
ソースを提出する場合は、各ファイルとフォルダをZIPでまとめてアップロードします。

続いて公開するアドオンの名前、概要、説明を入力します。
基本的には「名前」と「概要」は、アップロードしたマニフェストに記述されているものが、すでに入力済みとして表示されるはずです。
「説明」はアピールする文章を記述してください。
英語で入力
日本語で入力しても全然かまわないのですが、私の場合はアドオン自体を多言語化していたし、少なくとも英語圏向けに公開しておくと、圧倒的に違いが出ます。
なので出来れば英語表記がベター。
最近は翻訳サービスもレベルが高いし、生成AIに日本語で簡単に説明し、適切な説明文を英語で作ってもらってもいいでしょう。

公開するアドオンのカテゴリーを選択します。
最大3つ。

さて、戸惑うのはここあたりでしょう。
「サポートメールアドレス」は、空白でも問題ないようです。
「サポートサイト」も空白のままでOk。
でも、私の場合は簡単な掲示板を作成し、そのURLを乗せておきました。
「ライセンス」は、公開するアドオンのコードを、他人がどのように利用出来るかを定める項目で、必須になります。
まぁ、私が作成したのは他人に参考になるようなレベルではないので、なんでもいいのですが、以下の3つのどれかにチェックを入れるといいでしょう。
ライセンスの選択
MIT License (推奨されることが多い)
- 特徴: 非常に寛容な(Permissive)ライセンスです。
- 誰でも自由にコードを使用、複製、改変、配布、サブライセンス、販売することができます。
- 条件は、著作権表示とライセンス全文をすべての複製物または主要な部分に含めることだけです。
- 商用利用も可能です。
- メリット:
- 最もシンプルで理解しやすいライセンスの一つ。
- 他の開発者があなたのコードを利用しやすい。
- あなたのコードをベースにした派生作品が生まれやすい。
- こんな場合におすすめ:
- 多くの人に使ってもらいたい、自由な利用を許可したい。
- 商用利用される可能性があっても問題ない。
- シンプルで手間のかからないライセンスを選びたい。
- AMOでの選択肢: 「MITライセンス」または「The MIT License」として表示されます。
Mozilla Public License 2.0 (MPL 2.0)
- 特徴: Mozillaが開発したライセンスで、ファイル単位のコピーレフト(File-level Copyleft)です。
- MITよりは少し制約がありますが、GNU GPLほど厳しくありません。
- MPL 2.0でライセンスされたファイルに変更を加えた場合、その変更部分もMPL 2.0で公開する必要があります。
- 他の(プロプライエタリな)コードと組み合わせて利用できます。
- メリット:
- Mozillaのエコシステムに適しており、Firefoxのアドオンと相性が良い。
- あなたのコードへの変更部分の公開を促しつつ、他のコードとの結合を妨げない。
- こんな場合におすすめ:
- 変更部分をオープンソースにしたいが、派生プロジェクト全体をオープンソースに強制したくない。
- Mozillaの哲学に共感する。
- AMOでの選択肢: 「MPL 2.0」または「Mozilla Public License 2.0」として表示されます。
GNU General Public License (GPL) / GNU Lesser General Public License (LGPL)
- 特徴:
- GPL: 非常に厳格なコピーレフトライセンスです。GPLでライセンスされたコードを利用した派生作品全体もGPLで公開することを義務付けます。
- LGPL: GPLよりは緩やかで、LGPLでライセンスされたライブラリをリンクして利用するだけであれば、派生作品全体をLGPLで公開する必要はありません。
- メリット:
- ソフトウェアの自由とオープンソースコミュニティの維持を強く推進したい場合に適しています。
- こんな場合におすすめ:
- あなたのコードを利用するすべての派生作品をオープンソースにしたい。
- 注意点: 商用ソフトウェアでの利用が難しくなる場合があるため、採用には慎重な検討が必要です。
私の場合は、2番目の「Mozilla Public License 2.0 (MPL 2.0)」にチェックを入れました。一番上の項目ですね。

最後に「審査対象者へのメモ」ですが、ここは空白でかまいません。
すべて完了したら「バージョンを登録」をクリックします。
登録完了
エラーが出なければアップロードは完了です。

「自分の登録アイテムを見る」をクリックします。

「状態」が「審査待ち」になりました。
基本的には審査に通過して公開されるまでは、最大24時間らしいのですが、真偽は不明。
でも、以前公開したアドオンは、数日で公開され、意外と早かった記憶があります。
少なくともChromeストアよりははやかった気がします。
公開完了

無事に審査に通過すると、このように「承認済み」という表示になります。
ちなみに私の場合は、週末の土曜日にアップロードしたせいか、承認されたのは翌週の火曜。
アップロードした時間だったので、丸々3日ぐらいかかりました。
審査にはどれくらいかかる?
私の場合は、はじめて公開したアドオンは、翌日には承認されました。2個目は3日。
Mozilla Add-onsチームからのメールでは、最大数日かかる、と記載されていました。
メール
承認されると、
あなたの拡張機能は自動的に審査され、暫定的に承認されました。現在、
on/xxxxxxx/から入手できます。
あなたのアドオンはいつでも人間によるレビューの対象となる可能性があります。レビュー担当者は、変更が必要、または削除する必要があると判断する場合があります。その場合、詳細と次の手順が記載された別の通知が届きます。
このようなメールが英語で届きます。
エラーが出た

ファイルをアップロードすると、このようなエラーメッセージが表示される場合があります。
例えば今回は、
The extension ID is required in Manifest Version 3 and above.
エラー: See https://mzl.la/3PLZYdo for more information.
このエラーメッセージは、マニフェストのバージョンが3の場合は、拡張機能のID(Extensino ID)がマニフェストファイル(manifest.json)に記述する必要があるという意味。
Extension IDとは
Chromeストアの場合は、拡張機能ごとに自動的にユニークなIDが自動的に作成されるんですけれど、Firefoxのアドオンの場合は、開発者がIDを設定する必要がある(らしい)。
そこで manifest.json ファイル内に以下のような記述をします。
{
"manifest_version": 3,
"name": "your addon name",
"version": "1.0",
// ... その他の設定 ...
// ここから
"browser_specific_settings": {
"gecko": {
"id": "your-addon-name@your-domain.com"
}
}
// ここまで
}
“your-addon-name”の部分は、アップロードするアドオンの名前。もちろん適当なものでもかまいません。
その代わり、このアドオンはこのIDで統一します。(別のアドオンをアップロードする場合は、またユニークなIDにする必要があります)
“@your-domain.com” の部分は、もしドメインを所有していればそのドメインを。でもここも適当なものでかまいません。
なお、カンマ(,)を忘れないようにしてください。
他にも記述ミスなどによるエラーもあるので、まずはForefoxで一時的なアドオンの読み込みで、うまく動作するか確認してからアップロードしてください。
テストでFirefoxでアドオンを実行させる方法は別のページで紹介します。

コメント