[LWN Logo]

To: mozilla-documentation@mozilla.org, mozilla-general@mozilla.org
From: Pat Gunn <pgunn01@ibm.net>
Subject: Mozilla Release FAQ (15 September 1998)
Date: Tue, 15 Sep 1998 20:53:11 -0400

Mozilla Release FAQ
				Release 15 September 1998

Distribution: This document may be distributed and modified freely.
	No guarantee of factuality in this FAQ is made, and it is maintained
	by Pat Gunn <pgunn01@ibm.net>, who is not affiliated with Netscape.
	Various other people have contributed to this FAQ in one form or
	another. A recent version is kept at 


1) General Questions about the Mozilla Project
2) Building Mozilla
3) Features, Patches
4) Common topics
5) How to help
6) Meta-information

		--- Section 1: General Questions about the Mozilla Project ---

1.1) What is Mozilla?
	Mozilla is a cousin to Netscape Communicator that is
	being developed by the Free Software Community with the
	cooperation and support of Netscape.

1.2) On what is Mozilla based?
	Mozilla is based on a very early version of Netscape Communicator 5.0
	with all of the code that Netscape is unable to release due to license
	or export restrictions removed.

1.3) When was Mozilla released?
	The first release of Mozilla was on 31 March 1998.
	The second release of Mozilla was on 9 April 1998.
	The third release of Mozilla was on 29 April 1998.
	The fourth tarball of Mozilla was on 3 June 1998.
	The fifth tarball of Mozilla was on 28 July 1998.
	The sixth tarball of Mozilla was on 4 September 1998.
	Intermediate releases are available via CVS (see section 1.8)

1.4) What is the current version of Mozilla?
	The particular naming system used by Mozilla is not yet determined. 
	Until it is decided, it would probably be best to refer to a
	current version of Mozilla as the June 3rd (tarball) release.
	(or whatever date the tarball has)
	Updated versions via CVS would probably best be best designated
	by the date the source was retrieved via CVS, like so:
	June 5th (CVS) release.

1.5) Who is working on Mozilla?
	Several Netscape engineers, as well as plenty of people who have
	no affiliation with Netscape. You too can work on Mozilla, provided
	you have some necesary skills and software.
	See section 4 for details.

1.6) What resources are available to the Mozilla community?

	Mozilla Project Homepage
	Netscape Developer Program Website
	Mozilla Info Center (News Site)
	Netscape plans for Future versions of Communicator
	General Info Page (Houses some projects)
	Mozilla Cryptology Group
	Archive of Mozilla Newsgroups (along with others)
	Home of QT Port of Mozilla
	Big Resource site
	Mozilla's Dominion (Resources page)
	DOS Port team
	Mozilla Machine Translation project
	Mozilla Static Resources project (in its infancy)


		Server irc.mozilla.org channel #mozilla
		All newsgroups in the netscape.public.mozilla.* hierarchy
		If your news server doesn't carry these, you can use the
		news server news://news.mozilla.org
			(Some people receive the newsgroups via a mailing
			list. Take this into consideration when posting things)

		See http://www.mozilla.org/mirrors.html for FTP sites

1.7) Under which license terms was Mozilla released?
	Mozilla is released under the NPL (Netscape Public License)
	which is in some ways similar to the GNU GPL, and in some
	ways similar to a BSD-style license. Take a look at
	for details.

1.8) What's CVS, and what does it have to do with Mozilla?
	CVS is a system which is used to synchronize source code
	between developers. It's used to distribute changes to the
	Mozilla source without requiring frequent huge tarballs to be
	downloaded. Check out http://www.cyclic.com/ for more info on CVS.
	For specific info on updating your current mozilla source with
	CVS, see http://www.mozilla.org/cvs.html

1.9) What are all of the codenames given to various Netscape/Mozilla projects?
	NGLayout  (formerly Raptor) is a HTML rendering engine that will
	eventually replace the current rendering engine for Mozilla. It also
	forms a good foundation for work on embedding Mozilla in
	third-party software. You can download some source of it at the
	main mozilla site, which provides a basic viewer application.

	Gemini was a previous rendering engine project, renamed NGLayout
	Aurora is the Navigation Center in Mozilla and Navigator5
	Mercury/Gromit is Communicator 5
	Apollo refers to the Suitespot servers (v4)
	Normandy refers to the Mail/News branch of Mozilla

1.10) What are all these acronyms people are using in the newsgroup?
	Here are a few that are specific to the Mozilla newsgroups:

	FE = Front End -- The part of Mozilla that handles the interface
	BE = Back End -- The part of Mozilla that does all the
		behind-the-scenes stuff
	NSPR = Netscape Portable RunTime -- An abstraction layer over
		the local OS
	GTK = A free GUI toolkit native to Unix
	Qt = Another GUI toolkit
	XP = Cross Platform

1.11) I'm wondering how to do XXX with Navigator 3.x...
	The mozilla newsgroups are intended to be used by people
	who will be working with Mozilla, either in an organizational
	fashion, suggesting features, or coding. 
	There may be more help in one of these groups.  Search on subject first
		snews://secnews.netscape.com/netscape.navigator  For 3.x and earlier
		snews://secnews.netscape.com/netscape.communicator  For Communicator
		snews://secnews.netscape.com/netscape.macintosh   For all Mac

1.12) I went and made a suggestion and people were rude to me. Why?
	If you posted it to the mailing list/newsgroups, remember that on
	Usenet, people are not always polite to each other. Some people
	are just rude, and some people have a low tolerance for uninformed
	people. If you're new to the mozilla newsgroups, you probably
	should be reading the newsgroup for a few days regularly before
	you post anything. And read this FAQ :)

1.13) I did all that, and people were still rude to me. Why?
	If you're proposing reworking something (like HTTP, HTML, etc)
	you're expected to have a pretty good knowlege of it first.
	For example, before you make a proposal to compress whole
	webpages before sending them, devise a new protocol to do
	so, research how HTTP works, how HTML works, and think about
	all the good *and* bad points of reworking things. To start
	understanding the issues with this example, you should dig
	up the RFCs for the relevant protocols, any documents written
	on the subject, etc. For this particular example, you would want
	to go look at

		--- Section 2: Building Mozilla ---

2.1) I get x error when trying to build Mozilla - what's wrong?
	First, make sure that you have the latest release of the Mozilla
	source. Secondly, ensure that you have fully read the build
	instructions for your platform. These instructions are included
	in the source tree, and are also available on the mozilla website:

	Unix:  http://www.mozilla.org/docs/tplist/catBuild/unix-build.html
	Win32: http://www.mozilla.org/docs/tplist/catBuild/win-build.html
	Mac:   http://www.mozilla.org/docs/tplist/catBuild/mac-build.html

	Finally, if you can't get far at all into the compilation, you
	might not be using GNU make. Grab the latest version of GNU make from

	Regarding shells, I would like to recommend the following:
		If you are using Unix, I recommend using bash-family shells
		for the build, because of the better control over
		redirection (in case you want to log errors and messages)

		If you are using Win32, using the default cmd.exe (as
		opposed to 4DOS or 4NT) will probably yield better results.

	Regarding compilation options, it would be good NOT to compile with
		optimization, because it's much slower to build, and on Windows
		platforms, there's a bug in VC++ that makes Mozilla crash
		in many common circumstances if you optimize.

2.2) What platforms have had successful builds so far?

	This list will be updated with time, but (according to
	netscape.public.mozilla.general) the following platforms
	have been built successfully:
		Solaris 2.4, 2.5, 2.6
		FreeBSD 2.2, 3.0
		Linux/Intel and Alpha 2.0, 2.1
		WinNT 4.0
		IRIX 5.3, 6.2, 6.3, 6.4
		Win95, Win98
		Digital Unix 4.0
		HP/UX 9.05, 10.20, 11.0 (see 2.7)
		Hurd .03
		DG/UX (Not yet integrated into tree)

	(Note: No OS's that haven't been released will be listed, because
	there are likely several builds of the unreleased OS, and it's thus
	unclear what builds work and what don't)

2.3) What do I need to compile on Win32?
	You need to go grab the usertools package from
	In addition, you need Microsoft Visual C++ 4.2 or 5.0.
	Grab the latest patches to it if you don't have them
	already. Perl for Windows would be another good thing to get.
	(see http://activestate.com )

2.4) What do I need to compile on a Unix system?
	You need to have a working compiler (GCC 2.7.2+ will work),
	GNU make, Motif libraries (see 2.9 if not), and the X Window system.

2.5) What do I need to compile on a Macintosh system?
	You need Codewarrior Pro 2, including some software from the
	Codewarrior CD:
		PowerPlant 1.8, MSL, Makestub-MPW
	In addition, you need:
	Waste 1.3	
	CWaste 1.6	
	Menu Sharing Toolkit
	Mercutio 1.5 (SDK only)
	Internet Config 1.4 SDK (ICProgKit)
	AEGizmos 1.4.2
	MacPerl5 MPWTool (Mac_Perl_520r*_tool.bin) and MacPerl (Mac_Perl_520r*_appl.bin)
	Tool FrontEnd
	Patch 2.1

2.6) What do I need to compile on a BeOS system?

2.7) What do I need to compile on an OS/2 system?

2.8) What do I need to compile on a Rhapsody/NeXTStep system?
	Upgrade to GCC 2.7.2 or later 
	get gnu make
	and a recent version of Perl.
	The developer tools for NeXTStep (unless you're on Rhapsody) will also be needed,
	and they're not free.
	With all of these tools, you won't need to do anything different from any other Unix.

2.9) How do I build with Lesstif?
	This is still largely a work in progress. However, it would
	help to have the latest Lesstif. Grab it at
	It also is available via CVS. See:

2.10) How do I build with HP/UX?
	Visit http://hpux.csc.liv.ac.uk/hppd/mozilla/patch.html
	and grab their patches. 
	(Have these patches made it in? If anyone knows, drop me a note)

2.11) I'm *still* having problems getting mozilla to build on my platform!
	Take a look at mozilla/config/your_platform.mk
	Platforms that aren't used too often might not have a
	fully correct platform-specific makefile. Try to correct anything
	that looks like it's causing the error (comment out existing lines,
	copy them, and *then* modify). If you're really unlucky, you'll
	actually need to step through the build, at each failure correcting
	a makefile somewhere or manually building something. 

2.12) I'm trying to build Mozilla on an unsupported Unix. What do I do?
	Go into mozilla/config/ and copy the platform that's closest to your
	platform in the Unix evolutionary tree to `uname -s`.mk
	(note the backtics). Change anything you need to.  Do the
	same thing in mozilla/nsprpub/config/
	In the main source, find other platforms that can't cope with what your
	Unix can't cope with, and modify the #ifdefs and similar to include and
	exclude what your Unix needs/can't handle. Eventually autoconf might
	magically do this kind of stuff for you, but that's some time away.

2.13) What is the *best* way to build on Linux, with regards to stability?
	In order:

	libc5/Motif 1.2 - Official builds use this
	libc5/Motif 2.0 - Has scrolling problems
	glibc2/Motif 2.1 - Some scrolling, locale problems*
	glibc2/Motif 1.2 - Locale problems, not recommended*
	glibc2/Motif 2.0 - Locale, scrolling problems, not recommended*
	?/Lesstif - Needs a lot of work

* = set LD_PRELOAD=/usr/lib/libBrokenLocale.so to get around the locale

2.14) In what directory should I be in order to get a CVS update of the source?
	You should be at the top of the source (the directory with the
	top-level makefile). If you wish only to refresh a certain area
	of the tree, you can go to that area and do a CVS update there.

2.15) When I try to use CVS on Windows, I get an error about no home directory
	You need to set the HOME environment variable to a valid directory,
	as CVS was designed with Unix in mind, and wants to put a file in your
	home directory (the password file)

2.16) I'm on a Unix system, and still am having problems building
	Here's a brief guide to common build problems:
			cc1: Invalid option 'foo'
			cc: No such file or directory 'foo'
		These are almost always caused by your platform-specific
		Makefile being incorrect for your system, either because
		you're not using the compiler that you're expected to
		(i.e. GCC instead of the Sun Workshop compiler), or because
		you're not using a recognized version of your OS. Go dig
		through the makefiles in config and remove the offending
		portions, and see if that fixes things. If not, post to

		/usr/include/stdlib.h:196: previous declaration of
			See section 3.8

		Nothing looks much like an error, except something
		returned error status
		Your compiler has a switch (probably) that prints everything
		it's doing (i.e. programs spawned), which might help you
		find out what arguments it's passing to ld, or whatever, and
		thus perhaps enlighten you as to the problem. On gcc, try
		gcc -v (rest of command line).

2.17) How do I build Mozilla with Mail and News?
	Make sure you have the latest pull off of the CVS server, and
	set MOZ_DARK to 1 in your environment variables. It still might not
	build, YMMV.

		--- Section 3: Features, Patches ---

3.1) What platforms is Mozilla available for?
	Mozilla is currently targeted for Win32, Macintosh, and
	Unix/X systems. There are efforts underway to port Mozilla to
	OS/2, Rhapsody, BeOS, DOS, as well as pure Java.

3.2) What does Mozilla lack that Communicator has?
	Java (but not Javascript) was removed because it is
	the property of Sun. SSL (secure sockets layer) was removed because of
	export restrictions. Netcaster was removed because it relies on Java.
	AOL Instant Messenger was removed because it's proprietary to AOL.

3.3) What does Mozilla have that wasn't in Communicator 4?
	Mozilla has (at least) the following new features:
		A detachable bookmarks menu
		XML support
		2 new mail clients (one snagged from Javagator, one RDF-based)

3.4) Why is the animated icon different?
	The N logo is only to be present on Netscape's Communicator.
	This will serve as a way for an end-user to determine if they
	have Mozilla or Communicator. The icon that's distributed in
	the source will be used in Mozilla.org distributions of Mozilla.
	The first 3 tarballs had a simple sample logo, whereas the current
	source includes an icon that is included because it won a contest.

3.5) Where can I get a binary?
	Mozilla.org now provides Mozilla binaries. However,
	said binaries are made nightly, and are likely to be
	unstable. Also, various people have put
	up compiled binaries here and there. You
	might (or might not) expect the non-nightly builds to
	be somewhat more stable than the nightly builds.
	Here are a few pointers:

		http://www.innotek.de/warpzilla0006.zip (OS/2 binary)

3.6) On Win32, it fails to build, with the message "'.\WIN32' unexpected"
	You didn't properly set the environment variables -- you must not
	include a space at the end of the set statements (be careful if
	you are cut'n'pasting).

3.7) On Unix, it fails to build, with complaints about lcong48 and seed48!
	You probably have GCC 2.8.1, which currently won't work
	with Mozilla. Get 2.8.0 or 2.7.2+ (2.8.0 has some problems, 2.7.2 would
	be best, at least until the problems with 2.8.1 are ironed out)

3.8) I *really* want the security stuff that was taken out
	Check out the http://mozilla-crypto.ssleay.org/ , but
	note that it may be illegal for you to use it in your
	country due to patent laws.

3.9) I *really* want Java
	Check out http://www.place.org/~stevemw/java/mozilla-activator/
	for a view of the issues involved in getting Java working on Mozilla.
	Eventually Java will probably be workable via a project to
	use a plug-innable JVM or the system JVM.

3.10) How do I tweak the interface (replace the logo, etc)?
	See http://www.mozilla.org/docs/refList/user-interface/index.html
	for instructions, the files are:
		Unix/X: mozilla/cmd/xfe/icons/
		Windows: mozilla\cmd\winfe\res\
		MacOS: mozilla:cmd:macfe:rsrc:communicator: (Use Resedit)

3.11) Where can I get patches?
	There is not currently a central repository of patches. However,
	via CVS, you can keep up with the latest source from Mozilla.

3.12) I made a patch! How do I submit it?
	The current best way to do this is to put it on the web somewhere
	(preferably in diff format), and post an URL to it to
	If you can't, just post it to netscape.public.mozilla.patches
	Another way to do things would be to go to the module owners
	page on mozilla.org, and talk to the people who 'own' the code
	that your patch modifies.

3.13) Where are some interesting patches?
	Most interesting patches have made it into the tree or a branch.

3.14) I want to add X feature to Mozilla. Who do I contact?
	First, you should make sure that Mozilla doesn't already have the
	feature you wish to add. There have been changes since Communicator
	4.0. Check out section 3 for details. Assured that it's not already
	there, you should post to the mozilla usenet groups, asking for
	helpers. Finally, you should make sure that someone is not already
	working on the code you would need to modify to implement your
	feature. On www.mozilla.org, there is a list of	module 'owners'.
	This system ensures that 2 people are not working on the same
	part at the same time. Check for for the module owner, and
	contact him/her. The specific area that you can find this is at

		--- Section 4: Common Topics of Discussion ---

4.0) What's this section about?
	This section is to prevent rehashing of the same debates
	over and over again on the newsgroups. It might slightly
	reflect the opinions of Pat Gunn, and if you're really angry
	about this, drop him an email at pgunn01@ibm.net
	I'll try to keep this section with only debates that are frequent
	that seem to have a right answer.

4.1) How about a Mozilla Operating System?
	Mozilla is positioned well as an application software. However,
	it makes very little sense to try to make Mozilla into an operating
	sense, almost as little sense as it would to make a Word Processor
	or a MP3 player into one. Beyond technical reasons, the operating
	system market is currently glutted, and a new entry would be
	unlikely to attract enough users to ensure the writing of drivers
	for a new system, a critical mass point. People who want to work
	on an operating system no doubt would be welcomed by the
	BSD teams, the Linux team, the Freedows team, or any of the many
	other open source operating system groups out there.

4.2) How about a Netscape release of Linux?
	This isn't quite so far fetched, but it has the problem of possibly
	doing a great deal of harm to the relations between Netscape
	and several Unix vendors who bundle Netscape's servers. It is
	unlikely that Netscape would do anything that would endanger
	its revenue stream. As another point, there are already plenty
	of Linux distributions out there, most of them doing a pretty good
	job of making a usable system. Reinvention of the wheel is a poor
	use of volunteers.

4.3) Why don't we make a way to compress all the components of a webpage
		into one big file, and send that across?
	This breaks a lot of things that work currently. It is very
	difficult to determine what components of the webpage actually
	needs -- certain images may be shared between several pages,
	the user may have images turned off or lack capabilities to use
	a certain type of media. Dynamically generated pages make this
	nearly impossible. Devising a system that would handle all of
	these situations would make web servers more complex, slower,
	and likely hurt the transfer time that this proposal is attempting
	to save. Also, progressive display of the webpage would be
	completely gone with this idea. For these reasons, this is
	generally considered a bad idea.

4.4) I'd like to port Mozilla to XXXOS. Any advice?
	If you're targeting a relatively recent Unix, you probably will have
	very few problems. Otherwise, the more Unixlike the target system
	is, the easier your port will go. I would suggest that before you
	devote much time and effort to your port, you consider:
		How many users the OS has that are likely to use Mozilla
		Does the OS support multitasking well enough for Mozilla
		Does the OS have a sufficiently evolved GUI for Mozilla to work
		Does the OS have sufficient networking support for Mozilla
		Is the OS typically run on systems that have the resources
			to run Mozilla
		Does GCC or some other easily available compiler exist
			for the target platform
	If many of these answers are no, then there will be large issues
	that will hamper the port. This is not meant to state that the
	port is not worthwhile, but that it will be difficult. 

		--- Section 5: How to help ---

5.1) What projects are there for programmers?
	This project is largely about coding. You could tackle:

	Porting Mozilla to the OS you use
	If you're on Unix, port Mozilla to the toolkit you prefer
	Modularize/Clean up APIs
	Fix Bugs
	Work on the expermental features (Mail/News, Aurora, NGLayout)
	Add new things:
		Make OpenDoc and OLE NGLayout controls
		Add skins support
		Add preference interfaces for the hidden features
		Write a FTP/File Manager Component (?)
	There's plenty to do..

5.2) What projects are there for documentation people?
	There are several severely undermanned projects in the documentation
	area. Here are some projects and contact points:

	LXR - Contact: Dawn Endico <dawn@cannibal.mi.org>
		Project to summarize directory structure of Mozilla, adding
		algorithmic overview where appropriate
	Mozilla User Documentation - Contact: Pat Gunn <pgunn01@ibm.net>
		Project to write Advanced User Documentation for
		Mozilla and/or Netscape Communicator. Aims to be
		comprehensive, with a slight bias for the technical
		Project to make flowcharts for the Mozilla code, preferably
		in a portable format like postscript or PDF
	Design specs
		Document in easy to read language the protocols that mozilla
		uses (http://junior.apk.net/~qc/dok/protocol/ would be a good place
		to start).

5.3) What projects are there for others?
	There are some important things that you can do if you don't code
	or care to document:

	Crypto - If you are in the United States, contact your representatives
		and express how much you would like the crypto export ban
		lifted. This would make a lot of people happy.
	Ideas - If you have an idea for what you'd like to see in Mozilla, post
		to the mozilla developer ideas group.
	Artwork - Design new icons and other resources for Mozilla
	Legal - Investigate the GIF licensing issue

		--- Section 6: Meta Information ---

6.1) What changed since the last version?
	updated 1.6, 2.3, 2.4, 2.5, 2.8, 3.5, 3.13, 5.2, 2.6-2.7 are still stubs

6.2) What other versions of this FAQ are out there?
	Various other people have decided to take the original of this FAQ
	and modify it, usually making a web version. Some of these have
	more (or less) information than this FAQ includes.

6.3) Where can I find other versions of the FAQ?
	Check out:

	[There are more...]

6.4) Does the author mind if I make my own version, HTMLify it, or whatever?
	Nope. Go for it. I would suggest you try to keep looking at mine
	occasionally, so you can add new things that I do, but you can
	do whatever you want to with it.

6.5) The FAQ is wrong on section X.X! What can I do about it?
	Drop a note to Pat Gunn <pgunn01@ibm.net>

Pat Gunn, moderator:comp.sys.newton.announce comoderator:comp.os.os2.moderated
"You can always judge a man by the quality of his enemies." -- Dr Who