Firefox3/Distro Requirements
This document covers distribution-related requirements for Firefox 3.0. It includes information regarding requirements and upgrade paths for existing Fx 2.0-based distros.
Overview & Background
Why does Mozilla do partner distributions?
Wide-scale and targeted distribution of Firefox is critical for the continued success of Firefox in order to achieve Mozilla’s marketshare goals. The Firefox user base must be expanded through partnerships with like-minded partners. Such companies may include software companies, content publishers, Internet Service Providers (ISPs), search engines, web sites, PC OEMs, companies that target particular groups and individual affinity groups. These are collectively referred to as “partners”.
What can distribution partners do?
Depending upon the type of partner, they may be allowed a selected/limited set of customizations to Firefox. Selected partners may distribute Firefox as-is or potentially with additional software as part of a "value-added offering".
To date, partners have done distributions of three varieties:
- Type I: Firefox as-is (no changes)
- Type II: Firefox with selected customizations (e.g. additional bookmarks, different default search engine, etc...)
- Type III: Firefox with additional software (and oftentimes partner customizations)
Why would a partner want to distribute Firefox?
This varies by partner, but some of the value that Mozilla and Firefox provides to a partner include:
- Power/strength in brand association with Mozilla/Firefox
- Opportunities for integration (e.g. changing the default home to point to the partner’s website means more traffic to the site)
- Offering an overall better user experience
- Offering an alternative to IE7 for differentiation purposes (e.g. in the case of PC OEM’s)
- Simplifying the getting-going process (e.g. AllPeers software requires users to have Firefox)
Low-Touch Partners
Low-touch partners are those partners that will be catered to through a self-service interface or process. These are potentially 100’s or 1000’s in numbers (if we are successful).
Once a vetting process (TBD) or legal agreement is accepted, the partner is then offered the ability to customize how they want their Firefox to be customized.
[An outstanding policy question of how we decide if a particular partner is suitable for distributing Firefox. E.g. is it overall positive for Mozilla to be associated with this partner. How do we know that they won’t distribute malware, etc...?]
Low-touch partners may be performing Type I, II or III distributions.
Potentially a website/customization wizard or command line tool might be used to allow a restricted set of customizations to take place. Being fully automated, this process would allow few Mozilla representatives to be involved. The output would be a set of Firefox builds that include the customizations (and extra software if needed) in for all requested platforms and locales.
In general, Mozilla should be keeping track of who these low-touch partners are and be able to communicate with them (via email). A database of low-touch partner information should be maintained whether or not we offer web-based customization or a downloadable tool.
High-Touch Partners
High-touch partners are very few in number relative to the low-touch partners. These arrangements typically require term sheets and contracts to be drafted and accepted. They may involve financial arrangements and obligations/commitment for Mozilla and the partner.
The degree of customization for high-touch partners is likely to include a large set of changes than low-touch partners can make. High-touch partners may also require “intermediate” Firefox build artifacts that can be integrated into their own installers.
To date the high-touch partners have been: Google (and its distros), Yahoo, Yahoo Japan, BigCommercePartner, Kodak, T-Online, Seznam and PCHome. We should use every opportunity to convert high-touch partners to low-touch partners if possible.
Common Requirements
- DIST-001a: Settings from distros will need to be persisted across updates made to Firefox via Automatic Update Service (AUS). (P1)
- DIST-001b: Branding will not be removable by end users except through a full uninstall of the branded Firefox (P1)
- DIST-001c: Security and stability releases/upgrades to Firefox will be smoothly delivered without requiring customized partner builds to be generated (P1) {follows from DIST-001a}
- DIST-001d: When end users use a distro, settings from the distro will need to be persisted when a new OS user invokes Firefox for the first time and/or when a new Firefox user profile is created. (P1)
- DIST-001e: All customizations of text must include full support of Unicode (UTF-8) (P1)
- DIST-001f: Support an indicator that a particular build is a partner build rather than a vanilla Mozilla distribution from inside Firefox (about box). (P1)
- DIST-001g: Support attributes on Firefox setup installer in order to distinguish various partner builds from vanilla builds (P3)
- DIST-002a: Ability to “rebrand” vanilla Firefox with customizations (P1)
- DIST-002b: Support for creating distributions that support all 3 platforms - Windows (.exe), Mac (.DMG) and Linux (.tar) (P1)
- DIST-002c: Support for creating distributions of any existing Firefox locale build (P1)
- DIST-003a: Support of low-touch customization features through low-touch interface (web UI, customization tool, etc...) (P1)
- DIST-003b: Support for high-touch customization features through tools (P2)
- DIST-004a: Partner should be able to update the customizations without generating a full/new distribution (e.g. if the home page need changing) (P1)
- DIST-004b: Ability to create a “master switch” that can disable a distro (P2)
- DIST-004c: Ability to repatriate a distro to vanilla settings remotely by Mozilla or partner (e.g. in the case of default by partner) (P2)
High-Touch Requirements
- DIST-005a: Ability to script the installation of Firefox from a command line (P1)
- DIST-005b: Ability to install Firefox silently (ie, with zero UI appearing) [Windows only] (P1)
- DIST-005c: Change the text of the Windows shortcut on the desktop (P2)
- DIST-006: Support for separation of core Firefox and locale packs (P2)
- DIST-007: Support for command line tools for rebranding on Windows (predominantly) (P1)
- DIST-008: Digital signature on builds (P1?)