I want to write scripts for firefox. It seems that firefox has different terms, like add-on, extensions, plugins. and I have a feeling they\'re not all the same. Can you sum
Extending the Augmentation above
Extension(s) is ment to extend the functionality of software where a plug-in is ment to solve a problem of the software (to be able to do something it wasent designed to do already).
both types extends the program abilitys, ... and i guess this is why it can be so comfusing.
An Extension can be (and often are) a(n) option from the company that made the software (Usually cost money), a plug-in can be from the company that made the software or a third party to add abilities to the software.
According to Firefox:
Extensions
Extensions add new features to Firefox or modify existing ones. There are extensions that allow you to block advertisements, download videos from websites, integrate Firefox with websites like Facebook or Twitter and add features included in other browsers, such as translator.
Plugins
Plugins add support for all kinds of Internet content. These usually include patented formats like Flash that are used for video, audio, online games, presentations and more. Plugins are created and distributed by other companies.
add-ons
They are - Extensions, Plugnis, Themes, Search engines and Dictionaries & Language Packs.
Source: Firefox - https://support.mozilla.org/en-US/kb/find-and-install-add-ons-add-features-to-firefox
Add-on: essentially anything that can be installed into the browser. This includes for example extensions, themes, plugins, dictionaries, language packs, search engines.
Extension: a package extending browser functionality, the extension format used by Firefox works in Gecko-based browsers only. Extensions typically use XUL and CSS for their user interface as well as JavaScript for dynamic actions. They have full access to XPCOM and can provide their own XPCOM components as well. Recently the Add-on SDK has been added as an alternative way to generate simple extensions, it uses HTML instead of XUL but limits the ways in which the browser's user interface can be extended significantly. As of Firefox 57, all extensions have to be based on the WebExtensions API.
Plugin: means NPAPI plugins that are supported by all browsers but Internet Explorer (the latter uses the proprietary ActiveX technology instead). Such plugins are binary libraries that are invoked if a website uses an <embed> or <object> tag with a type that is handled by the plugin. The plugin can either draw some content for the tag (windowed plugins) or stay in background and simply provide an API for the webpage's JavaScript code to use (windowless plugins). Typical examples are Flash or Silverlight. Support for plugins is being phased out, as of 2018 Flash is the only plugin still supported to some degree.
Augmenting the useful answer above, I found this high-level summary helpful:
Extensions differ slightly from plug-ins. Plug-ins usually have a narrow set of abilities. [..] Since plug-ins and extensions both increase the utility of the original application, Mozilla uses the term "add-on" as an inclusive category of augmentation modules that consists of plug-ins, themes, and search engines.
(from http://en.wikipedia.org/wiki/Plug-in_(computing))