`
`
`
`
`open source version of
`
`Netscape Communicator
`
`source code guide
`
`William R. Stanek
`
`
`
`Bonus CD-ROM includes:
`0 Source code for Mozilla
`
`0 Additional open source modules
`
`0 Mozilla developer tools
`
`Microsoft Corp. Exhibit 1060
`
`Microsoft Corp. Exhibit 1060
`
`
`
`Netscape®
`Mozillam Source
`
`Code Guide
`
`William R. Stanek
`
`
`
`Mountain View, California
`
`Microsoft Corp. Exhibit 1060
`
`
`
`Netscape® MozillaTM Source Code Guide
`Published by
`Netscape Press
`501 East Middlefield Road
`Mountain View, CA 94043
`
`Copyright @1999 Netscape Communications, Inc. All rights reserved.
`No part of this book, including interior design, cover design, and icons,
`may be reproduced or transmitted in any form, by any means (elec-
`tronic, photocopying, recording, or othen/vise) without the prior written
`permission of the publisher.
`Library of Congress Card Number: 99-066774
`ISBN: 0-7645-4588—4
`Printed in the United States of America
`10 9 8 7 6 5 4 3 2
`
`I O/RV/RQ/ZZ/FC
`
`Distributed in the United States by lDG Books Worldwide, Inc.
`Distributed by CD6 Books Canada Inc. for Canada; by Transworld
`Publishers Limited in the United Kingdom; by IDG Norge Books for
`Norway; by lDG Sweden Books for Sweden; by IDG Books Australia
`Publishing Corporation Pty. Ltd. for Australia and New Zealand; by
`TransQuest Publishers Pte Ltd. for Singapore, Malaysia, Thailand,
`Indonesia, and Hong Kong; by Gotop Information Inc. forTaiwan; by
`ICG Muse, Inc. for Japan; by Intersoft for South Africa; by Eyrolles for
`France; by International Thomson Publishing for Germany, Austria and
`Switzerland; by Distribuidora Cuspide for Argentina; by LR International
`for Brazil; by Galileo Libros for Chile; by Ediciones ZETA S.C.R. Ltda. for
`Peru; by WS Computer Publishing Corporation, Inc., for the Philippines;
`by Contemporanea de Ediciones for Venezuela; by Express Computer
`Distributors for the Caribbean and West Indies; by Micronesia Media
`Distributor, Inc. for Micronesia; by Chips Computadoras SA de CV. for
`Mexico; by Editorial Norma de Panama S.A. for Panama; by American
`Bookshops for Finland.
`
`For general information on lDG Books Worldwide's books in the U.S.,
`please call our Consumer Customer Service department at
`800-762-2974. For reseller information, including discounts and pre-
`mium sales, please call our Reseller Customer Service department at
`800-434-3422.
`
`For information on where to purchase lDG Books Worldwide's books
`outside the U.S., please contact our International Sales department at
`317-596-5530 or fax 317-596-5692.
`
`For consumer information on foreign language translations, please con-
`tact our Customer Service department at 8004343422, fax
`317696-5692, or e-mail rights@idgbooks.com.
`For information on licensing foreign or domestic rights, please phone
`+1-650-655-3109.
`
`For sales inquiries and special prices for bulk quantities, please contact
`our Sales department at 650-655-3200 or write to IDG Books
`Worldwide, 919 E. Hillsdale Blvd., Suite 400, Foster City, CA 94404.
`For information on using lDG Books Worldwide's books in the class-
`room or for ordering examination copies, please contact our
`Educational Sales department at 800-434-2086 or fax 317-596-5499.
`For press review copies, author interviews, or other publicity informa-
`tion, please contact our Public Relations department at GEO—6558000
`or fax 650-655-3299.
`
`For authorization to photocopy items for corporate, personal, or educa-
`tional use, please contact Netscape Communications Corporation,
`Copyright Permission, 501 East Middlefield Road, Mountain View, CA
`94043 or fax 650-528-4124.
`
`For general information on Netscape Press books in the U.S., including
`information on discounts and premiums, contact lDG Books Worldwide
`at 800-434-3422 or 650-655-3200. For information on where to pur~
`chase Netscape Press books outside the U.S., contact IDG Books
`International at 650-655-3021 or fax 650-655~3295.
`
`
`
`
`
`
`
`LIMIT OF LIABILITY/DISCLAIMER OF WARRANTY: THE PUBLISHER AND AUTHOR HAVE USED THEIR BEST EFFORTS IN PREPARING THIS
`
`
`BOOK. THE PUBLISHER AND AUTHOR MAKE NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE ACCURACY OR COM-
`PLETENESS OF THE CONTENTS OF THIS BOOK AND SPECIFICALLY DISCLAIM ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FIT-
`NESS FOR A PARTICULAR PURPOSE. THERE ARE NO WARRANTIES WHICH EXTEND BEYOND THE DESCRIPTIONS CONTAINED IN THIS
`PARAGRAPH. NO WARRANTY MAY BE CREATED OR EXTENDED BY SALES REPRESENTATIVES OR WRITTEN SALES MATERIALS. THE AC-
`
`CURACY AND COMPLETENESS OF THE INFORMATION PROVIDED HEREIN AND THE OPINIONS STATED HEREIN ARE NOT GUARANTEED
`
`OR WARRANTED TO PRODUCE ANY PARTICULAR RESULTS, AND THE ADVICE AND STRATEGIES CONTAINED HEREIN MAY NOT BE SUIT-
`
`ABLE FOR EVERY INDIVIDUAL. NEITHER THE PUBLISHER NOR AUTHOR SHALL BE LIABLE FOR ANY LOSS OF PROFIT OR ANY OTHER
`
`COMMERCIAL DAMAGES, INCLUDING BUT NOT LIMITED TO SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR OTHER DAMAGES.
`
`
`
`
`
`Trademarks: Netscape is a registered trademark; Netscape Press and the Netscape Press logo are registered trademarks of Netscape
`Communications, Inc., in the United States and other countries. All brand names and product names used in this book are trade names, service
`marks, trademarks, or registered trademarks of their respective owners. lDG Books Worldwide is not associated with any product or vendor men-
`tioned in this book.
`
`The IDG Books Worldwide logo is a registered trademark or trademark under exclusive license to lDG Books Worldwide, Inc. from International Data
`Group, Inc. in the United States and/or other countries.
`
`Netscape®
`Press
`Netscape Press and the Netscape Press logo are
`trademarks of Netscape Communications Corporation.
`
`h a
`
`:9 is a registered trademark under exclusive license to lDG Books
`E Worldwide, Inc., from International Data Group, Inc.
`John Kilcullen, CEO, [06 Books Worldwide, Inc.
`Steven Berkowitz, President, lDG Books Worldwide, Inc.
`Richard Swadley, Senior Vice President & Group
`Publisher, lDG Books Worldwide, Inc.
`
`Microsoft Corp. Exhibit 1060
`
`Microsoft Corp. Exhibit 1060
`
`
`
`IN THIS CHAPTER
`
`— Introducing Mozilla
`
`—— Understanding the Netscape Open Source Program
`
`— Licensing Issues
`
`~ Exploring mozillaorg
`
`“is
`,1!
`
`a:thMia“
`
`M21;
`
`Introducing Mozilla
`and the Netscape Open
`Source Program
`
`arly in 1998, Netscape announced to the world that it would provide the
`
`source code for Netscape Communicator freely to the Internet community
`and that this free version of Communicator would be known as Mozilla.
`
`Mozilla is possibly the single most important development in the history of the
`
`Open Source movement — and that’s saying a lot considering its predecessors are
`
`the likes of Linux, BSD Unix, and Apache. Mozilla is so important because it is a
`
`Microsoft Corp. Exhibit 1060 3
`
`Microsoft Corp. Exhibit 1060
`
`
`
`PART I: GETTING STARTED
`
`cornerstone application for everything the Internet has to offer, from browsing to
`e—mail to newsgroups and more.
`.
`Every day millions of people access the Internet, or Net, usmg Communlcator.
`As the number of Net users grows, so do the number of people who use browsers,
`and a large portion of these users will use browsers based on the Mozilla source
`code. As a programmer, you have an opportunity to be a part of this historic devel—
`opment, writing code for what could become one of the most widely used applica-
`tions of all time.
`
`Because Mozilla is so large and complex, there are always hundreds of different
`initiatives ongoing at mozilla.org, the official headquarters of Netscape’s Open
`Source movement. By becoming a member of the Mozilla team, you can help im—
`plement projects you find interesting regardless of Whether you want to program,
`track down bugs, or write documentation. You can even go it alone and develop
`your own custom solutions using Mozilla.
`
`Introducing Mozilla
`
`Mozilla is many things to many people, and this is because the word’s meaning has
`evolved over time. Mozilla was introduced to the world with Netscape Navigator. It
`is the original code name for the browser and later for Communicator. It is the in—
`
`ternal code name that Navigator and Communicator report in the HTTP header
`request. It is also the name of Netscape’s mascot, a friendly, fire-breathing di-
`nosaur. When Netscape released the source code for Netscape Communicator,
`mozilla.org adopted the term as well, using it as the catchword for both the free
`software version of Netscape Communicator and any browsers developed from
`this code.
`
`So What Is Mozilla?
`
`With so many meanings, it is difficult to know what Mozilla is and isn’t. In this
`book, Mozilla is the name for the free software version of Communicator. Mozilla
`
`Microsoft Corp. Exhibit 1060
`
`Microsoft Corp. Exhibit 1060
`
`
`
`CHAPTER 1: INTRODUCING MOZILLA AND THE NETSCAPE OPEN SOURCE PROGRAM
`
`is based on the first developer release of Communicator 5.0. Most of Mozilla’s
`source code is written in C and C++.
`
`Versions of Mozilla are available for many different platforms, including most
`Unix, Windows, and Macintosh systems. Support for these many different versions
`are provided in platform—specific builds. For example, a Unix/X build is used on
`Unix systems such as Solaris, Linux, Irix, HP/UX and DG/UX. A Win32/MFC
`build is used on 32-bit Windows systems such as Windows 95, Windows 98, and
`Windows NT 4.0. A Mac build is used on Macintosh Power PC systems.
`Since its release, the Mozilla source code has changed dramatically, so much so
`that the original codebase had to be retired. The old codebase, known as Mozilla
`Classic, uses the original layout engine and platform-dependent GUI interfaces
`developed by Netscape, and the current codebase uses next generation layout and
`cross-platform GUI interfaces. The reasons for moving to a new codebase are
`many, but the primary reason is that the old codebase held developers back. The
`original layout engine had outlived its usefulness, and the original front-ends were
`platform specific and difficult to update for the latest features. To move forward,
`developers needed a clean break.
`
`The codebase for Mozilla is divided into modules. A module is a collection of
`
`source files that usually form a library or link as executables. Libraries can be
`dynamically linked through DLLs, shared objects through DSOs/Sos, or static.
`Within the codebase, you may find modules that belong to Mozilla Classic, previ—
`ous versions of Mozilla that are no longer being developed,~as well as the current
`Mozilla development efforts. If you find old modules while working through the
`source, keep in mind they usually are considered to be obsolete and are main-
`tained primarily for historical purposes.
`
`How Are Mozilla and Communicator Different?
`
`Mozilla and Communicator are different in many ways — some subtle and some
`not so subtle. First, browsers based on Mozilla do not have the familiar N logo
`(see Figure 1—1). The N logo can be used only with official releases of Netscape
`Communicator. But this is not bad news because you’ll probably want to use your
`own logo anyway, and why would you not? You have the source code and can
`insert graphics as you see fit.
`
`Microsoft Corp. Exhibit 10605
`
`Microsoft Corp. Exhibit 1060
`
`
`
`PART I: GETTING STARTED
`
`grammar Molina
`fie £dil yiew go 31ndch flab
`
`‘
`Bill
`Nelste
`
`4&3 d as”.
`a2-
`{
`'
`Search I Guide
`Pm!
`South'-
`T}. e Reload Hot?»
`hllp fl netscpeom/
`
`as <>¢ NetscapeNetcenter
`L‘wrmd
`news»
`
`E
`LhMaAD:
`
`,1“
`93:23
`int-3.3
`
`inn firm!” .
`
`M
`vll
`Search the Web with lExcne
`9mm Mum: [H.Hlbiln mm mm mm mm
`3" rr' 1;:
`r
`@uusoum
`Fina abuslnsslnmn madmancx HERE!
`Click here!
`LongDisMnce - Members - Webb/[ail
`( uni." i , Address Boo!»~ Discussions - lnstantMessenger-
`K' mnpujjng 2 Sharequ r Browsers — SmmUpdate ~ Plug‘ins v Net cape Store ~ Sofiwue Depot
`
`Local
`Autos
`
`Buy a’Car Financing, 50%...
`Personals Movies Events...
`
`Busmess
`Netscape
`Research. News Careers .
`Products Y2K Developer/g...
`Computing & Internet News
`
`Free Software News Shag“.
`Lgnschment. Tech. Weather...
`
`Education
`Personal Finance
`.
`Colleges Financial Aid.
`TeszriveOurBeta Site”.
`
`Entertainment
`Real Estate
`Mowes Music TV Celebrities
`Fmd aHouse Remodei,.
`Games
`Ashopolna U
`Doctrines! Done
`
`Sunday a Jan. 24, 1993
`
`..
`
`QnBANK 8 (wk Quotes
`r—ww Quote I
`a Symho'
`(s Name
`nugngflagom
`-W
`~ Wm
`4% t
`d
`t
`y
`.. t
`E
`a W E
`.
`Defense
`» caaorrp Liquiriaia
`
`Figure 1-1: Browsers based on Mozilla can’t use the N logo.
`
`Mozilla is also missing features that are proprietary or that Netscape couldn’t
`obtain rights to release publicly. Key features that you’ll find missing are:
`
`l Java support: the Java implementation originally used by Communicator is the property
`of Sun Microsystems. However, an Open Java Virtual Machine Interface (Oil) is imple-
`mented in Mozilla. The Oil enables you to use Java Virtual Machines and plug-ins that can
`Java-enable Mozilla.
`
`I Instant Messenger: An online messaging tool.
`
`I Cryptographic features: SSL (Secure Sockets Layer), S/MIME (Secure MIME) and other crypto-
`graphic features are removed because of export restrictions. While you could argue that 40-
`bit encryption code could have been released, this would require a separate export license,
`which wouldn’t have been granted by the US. government under existing regulations.
`
`6
`
`Microsoft Corp. Exhibit 1060
`
`Microsoft Corp. Exhibit 1060
`
`
`
`CHAPTER 1: INTRODUCING MOZILLA AND THE NETSCAPE OPEN SOURCE PROGRAM
`m a
`
`I Netscape Messenger for e-mail and Netscape Collabra for discussion groups: Messenger
`
`and Collabra use proprietary database code. However, mail and news clients are available.
`There's even an all—Java mail and news client code-named Grendel.
`
`Netscape has stated that development work on Communicator will continue.
`
`Netscape’s goal for Communicator is to ensure it is a quality product for end users.
`
`To maintain stability, ease of use, and more, certain features of Mozilla will not be
`used in official Communicator releases. This means that as Mozilla and
`
`Communicator continue to evolve, there will be other features that
`Communicator has and Mozilla doesn’t— and vice versa.
`
`Understanding the Netscape Open
`Source Program
`
`Although there are many differences between Mozilla and Communicator, there
`
`are also many similarities. (Mozilla and Communicator are the two evolving
`branches of the same root.) Mozilla is based on the first developer release of
`
`Communicator 5.0, and, moving forward, innovations developed in the Mozilla
`
`codebase may be integrated into future versions of Communicator. What this
`
`means for developers is that the code you create may become a part of both
`
`Mozilla and Communicator. This philosophy of achieving innovation through co-
`
`operation is at the heart of Netscape’s Open Source program, though there’s much
`
`more to this program than a philosophy. To understand why there is more to it,
`
`you have to understand what Open Source is all about and where the program
`is headed.
`
`What Is Open Source?
`
`You may be wondering what Open Source is all about. The phrase carries much
`
`more meaning than the words free software. While many organizations give away
`free software, very few organizations give away their source code. Traditionally,
`source code contains a company’s top secrets. Entire companies and billion-dollar
`
`Microsoft Corp. Exhibit 10607
`
`Microsoft Corp. Exhibit 1060
`
`
`
`APPENDIX
`
`What’s on the
`
`CD-ROM?
`
`TheaccompanyingCD-ROM contains sourcecodeforMozilla,additional
`
`open source modules, and Mozilla developer tools. Using the source code,
`you can build Netscape’s open-source software on Windows, Unix, Linux,
`and Macintosh systems.
`
`Microsoft Corp. Exhib§t31060
`
`Microsoft Corp. Exhibit 1060
`
`
`
`APPENDIX D: WHAT'S ON THE CD-ROM?
`
`Recommended System Requirements
`
`The files on the CD—ROM can be accessed and used from Windows, Macintosh,
`
`Linux, and Unix environments. For Windows 95/98/NT/ 2000, use the Windows
`
`Explorer to access the software. For Macintosh, use the Finder to access the soft-
`ware. For Unix and Linux, use your favorite browser or command tool to access
`the software.
`
`Before you can build Mozilla or other Open Source applications, you’ll need
`to install the developer environment as detailed in Chapters 14—16. Source list—
`ings are designed to be used with CVS but can be viewed in any standard text
`editor or word processor. To copy all of the source files to your hard drive, you’ll
`need at least 325MB of free space. If you don’t plan on working on other open
`
`source applications, copy only the Mozilla source files, which require less than
`
`95MB of free space.
`
`The precompiled binaries can be run only on the designated Windows,
`Macintosh, Linux, or Unix system. The size of the precompiled binaries depends
`on your operating system, but you should have at least 10MB of free space for the
`binaries. This space is in addition to what you’ll need for the source files.
`
`Disk Contents
`
`Source code on the CD—ROM is provided in project—specified directories.
`
`Platform-specific software is located in the appropriate directories for Windows,
`
`Macintosh, Linux, and Unix. The contents include the following items.
`
`Source Code for Mozilla and Other
`
`Open Source Projects
`
`On the CD-ROM, you’ll find the source code for the open-source projects listed in
`Table D-1. Projects are listed by name, description, and CD—ROM location.
`
`374
`
`Microsoft Corp. Exhibit 1060
`
`Microsoft Corp. Exhibit 1060
`
`
`
`APPENDIX D: WHAT'S ON THE CD-ROM?
`
`TABLE D-1: PROJECTS ON THE CD-ROM
`
`
`PROJECT
`
`DESCRIPTION
`
`CD~ROM LOCATION
`
`Bugzilla
`
`Calendar
`
`Grendel
`
`JavaScript
`
`Web-based bug
`
`tracking system
`
`Calendar client
`
`Java mail client
`
`Source\Bugzilla
`
`Source\Calendar
`
`Source\Grendel
`
`JavaScript Reference
`
`(JSRef) implementation
`
`Source\JavaScript\JSRef
`
`Localization
`
`Localization Kits for
`
`Source\LlON
`
`Netscape Communicator
`
`LDAP C SDK
`
`LDAP software
`
`Source\LDAP\C
`
`development kit for C
`
`LDAP Java SDK
`
`LDAP software
`
`Source\LDAP\Java
`
`development kit for Java
`
`LDAPPedSDK
`
`LDAP software
`
`Source\LDAP\Perl
`
`Messaging SDK
`
`Mozilla
`
`Rhino
`
`development kit for Perl
`
`Netscape Messaging
`Access SDK
`
`Source\Messaging
`
`Web browser
`
`Source\Mozilla
`
`JavaScript in Java
`
`Source\JavaScript\Rhino
`
`implementation
`
`
`The source code provides a starting point for coding Mozilla and other open-
`source applications. Use the source code in conjunction with CVS and you’ll be
`able to update the source to the latest version quickly and easily. With CVS, only
`source files that have changed are downloaded. Because you already have the files
`on your computer, this can save many hours of downloading, especially if you
`want to work with multiple projects.
`
`Microsoft Corp. Exhibfi715060
`
`Microsoft Corp. Exhibit 1060
`
`
`
`APPENDIX D: WHAT'S ON THE CD-ROM?
`
`Precompiled Binaries for Windows, Unix,
`and Macintosh
`
`The precompiled binaries enable you to run Mozilla using the binary executable.
`These executables are for a particular milestone in the project, such as Milestone 8.
`Each milestone has a particular set of features, with the latest milestone having the
`most recent updates. On the CD—ROM, you’ll find several versions of the binaries
`for Windows, Macintosh, Linux, and Unix.
`
`iii Binary files for 32-bit Window systems are in Bin\Win32
`
`lll Archived binaries for Macintosh are in Bin\Mac
`
`l Archive binaries for Linux are in Bin\Linux
`
`Netscape's Windows Build Tools for Mozilla
`
`As described in Chapter 14, Netscape provides a special set of build tools for
`Windows systems, which contains a modified version of GNU Make, SHMSDOS,
`Umake, and NSInstall. These build tools are provided on the CD—ROM in the
`Bin\Win32 \build folder. Install the tools as described in Chapter 14.
`
`CVS Clients for Unix, Windows, and Macintosh
`
`To build Mozilla, you need a CVS client. The CVS clients provided on the
`CD—ROM are under the GNU open source license and are freeware.
`
`I CVS clients for Window systems are in CVS\Win32
`
`II CVS clients for Macintosh are in CVS \Mac
`
`il CVS clients for Linux are in CVS\Linux
`
`Install the clients on your respective system as described in Chapters 14—16.
`
`376
`
`Microsoft Corp. Exhibit 1060
`
`Microsoft Corp. Exhibit 1060
`
`
`
`CD-ROM Installation Instructions
`
`See Appendix D, “What’s on the CD—ROM?” for detailed instructions.
`
`Note that all CD-ROM files are read-only. When you copy a file from the
`CD—ROM to your hard drive, it retains its read—only attribute. To change this at-
`tribute after copying a file, right—click the filename or icon and select Properties
`from the shortcut menu. In the Properties dialog box, click the General tab and re-
`move the checkmark from the Read—only check box.
`
`Limited Warranty
`
`IDG Books Worldwide, Inc. (“IDGB”) warrants that the Software and Software
`
`Media are free from defects in materials and workmanship under normal use for a
`period of sixty (60) days from the date of purchase of this Book. If IDGB receives
`notification within the warranty period of defects in materials or workmanship,
`IDGB will replace the defective Software Media.
`IDGB AND THE AUTHOR OF THE BOOK DISCLAIM ALL OTHER WAR—
`
`RANTIES, EXPRESS OR IMPLIED, INCLUDING \VITHOUT LIMITATION IM—
`PLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
`
`PARTICULAR PURPOSE, WITH RESPECT TO THE SOFTWARE, THE PRO-
`
`GRAMS, THE SOURCE CODE CONTAINED THEREIN, AND/OR THE TECH-
`
`NIQUES DESCRIBED IN THIS BOOK. IDGB DOES NOT WARRANT THAT THE
`
`FUNCTIONS CONTAINED IN THE SOFTWARE WILL MEET YOUR REQUIRE—
`MENTS OR THAT THE OPERATION OF THE SOFTWARE WILL BE ERROR FREE.
`
`This limited warranty gives you specific legal rights, and you may have other
`rights that vary from jurisdiction to jurisdiction.
`
`Microsoft Corp. Exhibit 1060
`
`Microsoft Corp. Exhibit 1060
`
`
`
`
`
`Microsoft Corp. Exhibit 1060
`
`Microsoft Corp. Exhibit 1060
`
`
`
`N Netscape
`Pressw
`
`
`
`
`
`Published and technically reviewed with
`the authorization and collaboration of
`
`Netscape Communications Corporation
`
`
`
`
`
`Bonus CD-ROM includes:
`
`0 Source code for Mozilla
`
`0 Additional open source modules
`
`0 Mozilla developer tools
`
`www.idgbooks.com
`www.netscapepress.com
`www.mozilla.org
`
`Reader Level: intermediate to Advanced
`
`Shelving Category: Programming
`System Requirements:
`Windows system running Windows 95/98 or Windows
`NT/2000; Microsoft Visual C++ version 5.0 or later; Perl5 for
`win32; Macintosh running MacOS 8.5 and MetroWerks
`CodeWarrior Pro 4.1or later; Unix or Linux system with Perl 5
`and a C/C++ compiler, such as egcs version 1.1 .l or gcc
`version 2.7.2
`Price: $34.99 USA —$52.99 Canada —£33.99 UK inc|.VAT
`
`llllll
`
`7
`
`85555 00835
`
`ll
`
`lllll
`
`9
`
`WORLDWIDE
`
`source code guide
`
`All the Techniques You Need to Put Mozilla to Work
`
`Mozilla, the open source version of Netscape Communicator, is an indispensable
`resource if you want to develop custom Internet applications. But Mozilla is also
`dauntineg complex, with over 50 separate modules comprising more than 30 million
`lines of code. This unique guide, developed in collaboration with Netscape
`Communications, provides a lucid overview of each Mozilla module—and
`shows you step by step how to harness the cross-platform power of this versatile
`lnternet application.
`
`Working Solutions for Internet Development Challenges
`0 Understand the legal ground rules that govern the use of Mozilla code
`- Master key Mozilla concepts such as virtual interfaces, interface identifiers,
`factories, repositories, and linked libraries
`
`0 Grasp how each Mozilla module is organized, named, and used
`0 Get up to speed on powerful Mozilla development tools such as CVS, Bonsai,
`Tinderbox, and Bugzilla
`
`0 Learn step-by-step programming techniques for customizing the Mozilla back
`end and front end
`
`0 Discover how to build Mozilla source on a Windows, Macintosh, or Unix platform
`I Join the Mozilla open source movement—and stay in touch through mozilla.org,
`newsletters, and online discussion groups
`
`About the Author
`
`William R. Stanek, a veteran programmer, project manager, and trainer, is the
`executive director of Virtual Press and the founder of Global Internet Solutions.
`He contributes to PC Magazine and is the author of several bestselling books,
`including Web Publishing Unleashed and Windows NT° Server 4.0 Adminstrator’s
`Pocket Consultant. He spent two years mastering the intricacies of Mozilla in
`order to write this book.
`
`Netscape, the Netscape N, Netscape Press, and Mozilla
`Communications Corporation in the United States and
`other countries. The [DC Books Worldwide logo is a
`registered trademark under exclusive license to IDG
`Books Worldwide, Inc., from International Data Group,
`Inc.
`
`aretrademarksorregisteredtrademarksofNetscape
`
`IDG Books Worldwide, Inc.
`An International Data Group Company
`Foster City, CA 94404
`Printed in the USA.
`
`ISBN U-7ELl5-ll556-l-l
`
`5 3 4 9 9
`
`9 780764 545887
`
`Microsoft Corp. Exhibit 1060
`
`Microsoft Corp. Exhibit 1060
`
`