If your add-on includes an extension, it needs to be signed before it can install into release and beta versions of Firefox. This signing process takes place through addons.mozilla.org (AMO), whether you choose to distribute your add-on through AMO or to do it yourself.
Here we look at the signing requirements and the related reviews, before discussing how to choose between distributing on AMO or distributing an add-on yourself. We also look at the channels available on AMO and answer questions about code ownership and disputes.
Signing your add-ons
Starting with Firefox 43, add-on extensions and multi-item add-ons that include extensions need to be signed by Mozilla before they can install in release and beta versions of Firefox. Themes, and other types of add-ons such as spelling dictionaries, don't need to be signed.
Mozilla signs add-ons through the AMO website and provides three methods for submitting your add-on for signing:
- upload your add-on through the Developer Hub on AMO.
- use the addons.mozilla.org signing API.
- use web-ext sign.
All the signing options are subject to the Firefox Add-on Distribution Agreement.
Using the signing API or web-ext returns you signed add-ons, with no distribution listing created on AMO. If you take the option to upload your add-on through the AMO Developer Hub, you're given a choice between listing on AMO or self-distribution. If you choose self-distribution, at the end of the process you download signed copies of your add-on.
Regardless of the method used all add-ons must pass an automated validation before they are signed. They may also be subject to a manual code review. The review criteria applied to add-ons are found in the Add-on Policies.
Distributing your add-on
You aren't required to list or distribute your add-on through AMO. You'll, therefore, need to decide if you want to distribute and list your add-on through AMO or distribute it yourself. Here are some things you should consider:
- AMO is a very popular distribution platform, with millions of monthly visitors and installations. It's integrated into the Firefox Add-ons Manager, allowing for easy installation of add-ons published on AMO.
- When an add-on is listed on AMO, updates to installed copies are handled automatically by Firefox each time a new version is listed on AMO.
To enable Firefox to automatically update self-distributed add-ons, the URL where Firefox can find updates needs to be included in the add-on manifest's update_link key. Self-distributed add-ons that don't have an update URL check AMO for updates and are updated to a listed version, if one is available.
- AMO offers a beta channel for listed add-ons that aren't marked as experimental. For more details, see The beta channel.
For more information on how to submit an add-on for distribution on AMO or self-distribution, see Submitting an add-on.
More information about AMO
The beta channel
To create a beta channel, upload an add-on with a manifest version key containing any of the following:
rc, optionally, followed by a number. This text must come at the end of the version string, for example,
1.0beta1. In RegEx format, we look for
"(a|alpha|b|beta|pre|rc)\d*$" in the version number.
When a file meeting this version number criteria is uploaded to AMO, it Is identified as a beta version. Users of your add-on who have chosen to download beta versions will automatically be served the latest beta update. They also cannot be side-loaded, and must not be pushed as updates to side-loaded versions if you're using these versions outside of AMO.
You can use this channel for alpha, beta, nightlies, or prerelease versions, as you wish. Note that there is only one channel and all of your users on the beta channel will receive the latest add-on. For example, if you followed
1.1alpha1, all users of
1.0beta1 will be offered an upgrade to
1.1alpha1. Updates are pushed by submission date and not version number, so users will always get the most recent channel update.
Add-ons on AMO can have multiple users with permission to update and manage the listing. The authors of an add-on can transfer ownership and add developers to an add-on's listing through the Developer Hub. No interaction with Mozilla representatives is necessary for a transfer of ownership.
Many add-ons allow their source code to be viewed. This does not mean that the source code is open source or available for use in another add-on. The original author of an add-on retains copyright of their work unless otherwise noted in the add-on's license.
If we're notified of a copyright or license infringement, we will take steps to address the situation per the DMCA, which may include taking down the add-on listing. Details about this process and how to report trademark or licensing issues can be found here.
If you are unsure of the current copyright status of an add-on's source code, you must contact the author and get explicit permission before using the source code.