Mozilla is both
- A free, cross-platform Internet software suite, whose components include a web browser and an email client, and
- The open source project responsible for the development of this software.
In February 1998, Netscape released most of the code base for their popular Communicator suite (including the Navigator browser) under an open source license. To support Mozilla's collaborative development, Netscape also created the Mozilla organization and mozilla.org website. Although the original Communicator code was abandoned shortly thereafter, the Mozilla organization eventually succeeded in producing a full-featured Internet suite that surpassed Communicator in both features and stability.
Mozilla development continues apace. Like many other large software projects, Mozilla itself has become a platform for other applications written in its domain specific programming environment. A partial list of these applications can be found on the mozdev.org website.
History of Mozilla
The Netscape Communicator open source release, which came at the height of America's late-1990s economic boom, was greeted by the Internet community with a mixture of acclaim and skepticism. In some circles, Netscape's source release was seen as both a victory for the free software movement and an opportunity for Netscape to tap the power of open source development. This view was particularly popular among users of Linux and other free software. Other observers---including many in the non-open-source business community---interpreted the move as Netscape's surrender in the face of the growing ascendancy of Microsoft's Internet Explorer browser.
Regardless of the public's opinion, development with the Communicator code base proved harder than initially hoped:
- The Communicator code base was huge and complex.
- It had to be developed simultaneously on many operating systems, and therefore to cope with their differing libraries and idiosyncrasies.
- It bore the scars of many rapid cycles of closed-source development on "Internet time". The short development cycles had led programmers to sacrifice modularity and elegance in the scramble to implement more features.
- Several parts of Communicator's code were never released as open source, due to licensing arrangements with third parties.
As a result, the initial Communicator open source release did not even build cleanly, much less run. This presented steep challenges to the Mozilla core developers (most of whom were still on Netscape's payroll), and even steeper challenges to independent developers wishing to contribute to Mozilla on their own.
Ultimately, the Mozilla core developers concluded that the old code could not be salvaged. They decided to scrap the whole code base and rewrite it from the ground up, which caused one of the lead Netscape developers, Jamie Zawinski to resign. The resulting plan included, among other things, the creation of a whole new cross-platform user interface library and a new HTML rendering engine.
Few observers foresaw the result. The rapid completion of the Gecko HTML layout engine led many to believe that a complete browser could not be far behind. However, producing even a fully functional web browser required much more than a rendering engine; and the Mozilla developers soon envisioned a project more ambitious than a simple web browser. The new Mozilla would be a platform for Internet applications, with a fully programmable user interface and a modular architecture. This Mozilla would function equally well as a host for email clients, instant messaging clients, Usenet news readers, or any number of other applications.
Due to the effort required for this massive rewrite, the project fell far behind its original projected deadlines. In the years that followed, skepticism about Mozilla grew widespread, and some doubted that a finished Mozilla browser would ever see the light of day. However, the project persisted, continuing uninterrupted through both the purchase of Netscape by AOL and the end of the dot-com boom.
By 2002, the Mozilla project had produced a serviceable, standards based web browser that worked on multiple operating systems, including Linux, Mac OS, Solaris, and Microsoft Windows. The Mozilla 1.0 release was even praised for introducing new features that Internet Explorer lacked, including better support for user privacy preferences and some interface improvements. Additionally, the Mozilla browser became a de facto reference implementation for various World Wide Web Consortium standards, due to its strong support for those standards.
Mozilla technology
Spin-offs
The Mozilla software architecture was, of necessity, fairly modular. As a result, Mozilla development generated several components that have been reused in other contexts. The most prominent of these is the Gecko layout engine, which has been used in other browsers (see Spin-off browsers below).
Also, the task of Mozilla development itself spurred the creation of tools for geographically distributed, cross-platform software development. Some of these tools were widely adopted by the larger open source community, including the following:
- the Bugzilla bug tracking software,
- the Bonsai CVS code management system, a web-based query interface for the CVS revision control system, and
- the Tinderbox detective tool, which allows developers to manage software builds and to correlate build failures on various platforms and configurations with particular code changes.
- the Open Directory Project was included as a web directory. The domain name http://dmoz.org/ stands for "directory Mozilla" and it's still available in the original location http://directory.mozilla.org/
Notable features of Mozilla's design
One unique aspect of Mozilla is that the entire user interface, including menus and dialog boxes, is rendered by the Gecko layout engine, rather than by the host operating system's GUI library. This architecture has been controversial. Its defenders cite its flexibility and the fact that it can present a standard GUI across different platforms. Its critics argue that this architecture adversely impacts performance, and that it is a widely-accepted convention of application design to use the native GUI elements of the operating system interface. A number of browsers exist that use the rendering engine only to display the HTML page (see below).
Origins and prophecies: the "Mozilla" name
The Mozilla project takes its name from the cartoon lizard Mozilla, who served as Netscape's mascot in the company's early days. The name is a portmanteau of "Mosaic" (the Netscape browser's predecessor) and "Godzilla" (a movie monster that terrorized Tokyo and other locales). One can surmise that the employees of Netscape hoped to unseat Mosaic as the web's most popular browser. They succeeded---albeit briefly, yielding the position to Internet Explorer soon after. For more on the Mozilla mascot, see the external link for "The Mozilla Museum" (below).
When given the URL about:mozilla, the various versions of the Netscape browser would display a message, in white text on a lurid red background, in the browser window. Version 4 displayed the following prophecy:
- And the beast shall come forth surrounded by a roiling cloud of vengeance.
- The house of the unbelievers shall be razed and they shall be scorched to the earth. Their tags shall blink until the end of days.
- from The Book of Mozilla, 12:10
"Their tags shall blink" refers to the controversial <blink> HTML tag introduced in an earlier Netscape version. This proprietary HTML extension, which made text blink on and off, was widely derided as annoying, distracting, and ugly. Soon after its introduction, the blink tag joined hideously garish backgrounds and animated GIFs as metonymy for badly designed web pages.
Later Netscape browser versions, which were actually based on the Mozilla code, displayed the following:
- And the beast shall be made legion. Its numbers shall be increased a thousand thousand fold. The din of a million keyboards like unto a great storm shall cover the earth, and the followers of Mammon shall tremble.
- from The Book of Mozilla, 3:31
- (Red Letter Edition)
This text probably referred to Netscape's hope that, by opening the Mozilla source, they could attract a "legion" of developers who would help improve the software. Some suggested that "Mammon" referred obliquely to Microsoft, which seemed plausible given that Microsoft's Internet Explorer was Mozilla's chief competition.
Version History
Early versions of Mozilla were slow and buggy. Mozilla became about as stable as Netscape 4.7x only from 0.9.2 or 0.9.3 builds onwards.
- From 0.9.5 (October 12th, 2001) onwards the releases have been fast and reliable, largely due to the implementation of formal code review techniques by the Mozilla project managers.
- 0.9.6 (November 20th, 2001)
- 0.9.7 (December 21st, 2001) Favicon support.
- 0.9.8 (February 4th, 2002) included an ECMAScript debugger named Venkman and a Document Object Model inspector.
- 0.9.9 (March 11th, 2002): a new mail notification sign that appears in the Windows System tray.
- Mozilla 1.0 Release Candidate 1 (April 18th, 2002): viewing the source of a cgi generated page now works properly, reorganized menu bar and context menus, a new Download Manager.
- Mozilla 1.0 Release Candidate 2 (May 10th, 2002):
- Mozilla 1.0 Release Candidate 3 (May 23rd, 2002): 139 bug fixes since RC2.
- Mozilla 1.0 (June 5th, 2002): the first 'official' release of the browser technology, with intended long-term stable APIs that can be used to support products by other developers.
- Mozilla 1.0.1 (September 10th, 2002): over 650 bugfixes to 1.0.
- Mozilla 1.0.2 (January 7th, 2003): further stability and security improvements and fixes for standards support.
- Mozilla 1.1 (August 26th, 2002): Improvements to application and layout performance, stability, and web site compatibility. CSS, DOM and HTML standards support has also been enhanced.
- Mozilla 1.2 (November 26th, 2002): Type ahead find implemented (allows quick navigation), keyboard access greatly improved, and link prefetching enabled (release also contains the usual performance, stability, and security enhancements.)
- Mozilla 1.2.1 (December 2nd, 2002): released in order to correct a DHTML bug found in Mozilla 1.2.
- Mozilla 1.3 (March 13th, 2003): basic junk mail classification capabilities and image auto sizing.
Early reviews of Mozilla 1.0 are favorable, describing Mozilla as fast and stable, and praising new features such as tabbed browsing and pop-up blocking.
One advanced setting which is highly beneficial to users of Mozilla is the ability to use HTML Pipelining, which results in much faster download times for sites with multiple images.
Spin-off Browsers
Browsers that use the Gecko layout engine for the entire user interface:
- Mozilla (Mozilla.org's own browser suite under the codename SeaMonkey)
- Netscape Navigator 6.x and 7 (rebranded Mozilla with AOL Instant Messenger)
- Beonex Communicator
- IBM Web Browser for OS/2
- Aphrodite
- Phoenix
Browsers that just use the Gecko layout engine for webpage display only:
External links
- Mozilla project
- MozillaZine magazine
- The Mozilla Museum - Mozilla the Netscape mascot
- mozdev.org: Mozilla themes, plugins and development projects
- Creating Applications with Mozilla, full text of O'Reilly book
- MozillaBook: A User's Guide for Mozilla
- Mozilla XUL technology website
- Articles about Mozilla published on Slashdot
Reviews of Mozilla 1.0:
- The Mozilla 1.0 Media Circus by MozillaZine
- C|NET review of Mozilla 1.0
- Ars Technica review of Mozilla 1.0
Reviews of Mozilla 1.1: