Originally Published: Thursday, 20 January 2000 Author: Rob Bos
Published to: featured_articles/Featured Articles Page: 1/1 - [Printable]

The Mozilla Project: Secondary Consequences

In early 1998, Netscape Communications Corp, faced with its impending irrelevance in the HTML rendering "business" in the face of stiff competition from the behemoth Microsoft, started the process of freeing the source code to a number of very key products. Over the next two years, the first of these released projects, the Web browser code-named Mozilla, has been through some rocky territory -- growing pains associated with the transition from a thoroughly proprietary, monolithic code base to a more modular, more structurally and universally useful product....

   Page 1 of 1  

In early 1998, Netscape Communications Corp, faced with its impending irrelevance in the HTML rendering "business" in the face of stiff competition from the behemoth Microsoft, started the process of freeing the source code to a number of very key products. Over the next two years, the first of these released projects, the Web browser code-named Mozilla, has been through some rocky territory -- growing pains associated with the transition from a thoroughly proprietary, monolithic code base to a more modular, more structurally and universally useful product.

These growing pains have been publicly trumpeted as symptoms of the "Imminent Demise Of Mozilla" [tm] -- a couple of key developers have signed off, several key people in the free software communities have alternately praised and vilified the project, serious setbacks in the reusability of the code base, patent issues, licensing arguments, and on and on and on. Not the least of these problems has been simple pessimism about the future of Netscape Communications itself. Those fears are somewhat justified, given recent events, but Mozilla itself still continues. The project started off with high hopes; within hours of the code release, patches were made, and people celebrated. Free software advocates saw hopes to influence the commercial software industry in a far more public arena than had been previously accessible.

It was clear after a few short months that attempting to attract a fairly lukewarm and apathetic set of free software developers frustrated with a messy, monolithic code base that wouldn't even compile without very specific hardware and software set up was not a particularly hopeful proposition. Integrating free software developers into the process of creating this new Web browser would require a great deal of rethought. After some consideration and a significant amount of debate, it was decided to essentially scrap most of the existing code base and start from scratch. Needless to say, few people were happy with this necessity.

Over the next two years, until the present day, the Mozilla project has had what seems to be a never-ending stream of troubles.

Until the present day. The Mozilla browser has the bulk of the work done. In pre-alpha stage at the time of this writing, all the core functionality is in place and it is almost usable for the brave soul to use as their primary browser. The bug report database is finally starting to drop submissions faster than they are accumulating them. Those who keep up with the nightly builds are noticing marked improvements in speed and functionality. Soon, Mozilla will go alpha, and the bug-stomp can begin in earnest -- a pursuit that the free software habit of fast iteration and quick feedback from many eyes is notoriously good at. Mozilla is modularly designed, fast, and has a bevy of features planned that will make it simply the most comprehensive and powerful graphical browser on the market. Two words: theme support. It's coming down the pike, and it's coming down fast. It's somewhat usable now, and Real Soon Now, it will be usable for the average user and repackaged by Netscape into the Communicator package. It is already virtually guaranteed to be a primary component of AOL's software distribution, and to get a healthy market share from inclusion with Linux distros.

So why all the pessimism? Sure, Mozilla's had its problems, but it's going to rock.

However, much more important in the long run are the peripheral projects that have come of Mozilla -- component projects and libraries that are so much more incredibly more significant than the project itself, and will likely outlast that project. Whether or not the Mozilla project itself succeeds in the long term or fails, the software and publicity that it has given the free software movement will last forever.

The first interesting result of the Mozilla project was the Gecko rendering engine. Completely standards-compliant, blindingly fast, and capable of fitting on a single floppy, it was hailed as a revolutionary development and was adopted for a number of other purposes. For instance, a GTK widget was developed which could be embedded in secondary applications to render HTML. Rumour has it that some brave soul even embedded it as the engine for Internet Explorer with minimal effort! The significance of this, however, is in how the emergence of a truly standards-compliant Web browser would have on the ability to seamlessly provide web content over a wide variety of interfaces. It simplifies the job of the Web designer and site designer drastically to expect standards-compliant browsers on the other end. Whether Mozilla becomes popular or not, the Gecko rendering engine is assured its place in history and useful applications.

Mozilla needed a way to track bugs. Someone wrote a powerful Web-based set of scripts to handle this, and licensed it such that anyone could use and modify it. This system is known as Bugzilla, a bug reporting and tracking database system currently in use by several free software projects. This is significant because while it does not directly affect the end user, it simplifies the job of maintaining large projects drastically, taking a load off development teams by automating the bug report and maintenance problem in an easy-to-maintain, easy-to-use package.

Recently, a set of libraries for public key infrastructure encryption, the ones that couldn't be used before because of absurd US cryptography legislation, were announced and placed under a currently indeterminate license. This is significant because for the first time, a widely-available, publicly accepted, reasonably well-known crypto library is now usable for any Linux product that requires it. The full significance of that simple fact could be a few years down the road, but will almost certainly be very interesting.

One of the most significant developments of the Mozilla project was in the creation of the dual Netscape and Mozilla Public Licenses. They were designed to take into account the fact that not all the intellectual property of a company could, for patent or contract reasons, be disclosed immediately. A system had to be devised in which Netscape could meet its contractual obligations (thereby requiring extra rights to the code, including the ability to distribute closed versions of it) while assuring the free software community that all contributions and modifications would, over time, turn the software into a truly free project. The idea, essentially, was to ease the transition from a project controlled by a single company into a project controlled by multiple independent developers. The jury is still out on how well it will work, but the general consensus is that the Mozilla code base is slowly making a transition from the relatively non-free Netscape Public License to the more free Mozilla license, as more and more additions or replacements are made to the base code. Both license schemes make use of "microlicensing," that is, each license applies only to certain files within a limited scope. Modifications to those files must stay under the same licenses, while replacements of those files can be placed under a new license. This license is being considered by many companies also pondering the transition to freeing their software, and has gained some mindshare, though not excessively so.

The Mozilla project is the first example of a corporation actively attempting to attract developers to a free software project. Much was learned by both development communities and businesses about how to properly respect the others and to understand the motivations of the two groups. The Mozilla project will, in ten years, likely be the classic sociological textbook case of two wildly different cultures attempting to hash out a common project to mutual benefit.

Perhaps the single most significant result of the Mozilla project is the degree of attention that it has brought to free software in general, and Linux in particular. Netscape brought to the forefront debate between pundits, and forced people to think about it. If Netscape were being colossally stupid in "open-sourcing" their web browser, people first needed to know what "open source" meant. This flow of ideas is changing the world, and Netscape Communication Corp is in large part responsible for that.

So why all the fuss about Mozilla? Mozilla's just the tip of the iceberg of the ramifications of the project.

Interesting times ahead.

Rob Bos (rbos@linux.com) is a university student and lab technician at Simon Fraser University in Vancouver, British Columbia. He enjoys free beer, free speech, and cats. Cats are nice. He also has much humility and is most definitely an accurate source of information about himself.





   Page 1 of 1