mozilla.com was launched on November 29, 2005 with the Firefox 1.5 release with the goal of simplifying the experience of obtaining Mozilla products.
The mission of mozilla.com is to:
- provide a quick and easy path for obtaining our software
- educate visitors about the advantages of our software
- connect users with other Mozilla web properties they may be looking for
The audiences for mozilla.com:
- End users of Mozilla products (both consumers and power users)
- Current Firefox and Thunderbird users looking for upgrade information
- Visitors interested in information about Mozilla Corporation
Work is done on trunk, pushed through a staging branch for review/testing, and pushed to a production branch to go live.
- Dev works on a bug and makes a commit to trunk with bug number, leaves a comment on bug with trunk revision (multiple commits per bug are fine)
- When fixed, dev marks bug as "resolved fixed", merges all changes into "stage" branch, leaves comment on bug with stage revision
- If requesting code review (larger changes), attach patch from stage's revision and flag for review
- Add keyword "qawanted" to bug to move to testing
- QA checks on stage, approves by replacing the "qawanted" keyword with "qaverified"; if not, QA re-opens bug and removes "qawanted" keyword
- If the bug is ready to be pushed to production, anyone can add "push-needed" keyword. If the bug is waiting on a particular launch date, don't add this
- Dev pushes all related staging revisions (usually just one) to "prod" branch leaving commit with new revision number, removes "push-needed" keyword
- QA checks on production, marks "verified fixed"; if there's a problem, re-opens bug and removes "qaverified" keyword, dev might revert changes on production if problem is critical
Here are a few example SVN commands one might use:
commit to trunk (r100) svn commit -m 'bug 60000 - spread happiness around' merge to staging (r50) svn merge --ignore-ancestry -c100 trunk tags/stage cd tags/stage && svn commit -m 'r100 from trunk for bug 60000' get patch from staging cd tags/stage && svn diff -c50 merge to prod (r40) svn merge --ignore-ancestry -c50 tags/stage tags/prod cd tags/prod && svn commit -m 'r50 from staging for bug 60000' revert on prod cd tags/prod && svn merge -c-40 .
The important point in this process is that the developer can commit what he/she wants to trunk, but he/she is responsible for merging those changes into stage. Since it potentially collapses many small commits into one large bugfix commit, it helps in the publishing process.
QA should always test on staging (https://www.authstage.mozilla.com/) to force devs to follow this process.
Mozilla.com SVN Source
- Trunk - the main development version of mozilla.com. Most work happens here.
- SVN location: http://viewvc.svn.mozilla.org/vc/projects/mozilla.com/trunk/
- Preview URL: https://www-trunk.stage.mozilla.com/
- Stage - When changes are ready in trunk, they are merged to stage for review before going to production.
- SVN location: http://viewvc.svn.mozilla.org/vc/projects/mozilla.com/tags/stage/
- Preview URL: https://www.authstage.mozilla.com/
- Production - The live website. Beware!
- SVN location: http://viewvc.svn.mozilla.org/vc/projects/mozilla.com/tags/production/
- Preview URL: https://www.mozilla.com/