Mozilla is not a browser, it’s a webpage.
Way back when Mozilla first went Open Source, Dave Winer’s reaction was negative. His take was “Netscape doesn’t get it”. He said that Netscape was forgetting their “core following”, the web developers, who would not care to hack C++ code.
Well, the Mozilla people sure got it. Because everything they have done in the last two years of development can be seen as basically a reaction to Dave’s comment.
They took the browser and turned it inside out. They scrapped everything, all the platform-specific, MFC/Motif/MetroWorks framework stuff, all the spaghetti HTML rendering code with its special cases for each new feature added since HTML 2.0. They build a completely new rendering engine with a highly modular design that would make any C++ programmer proud and happy, and then they invested an enormous amount of work to ensure that this engine would be used for everything.
Because they wanted to bring in the Web Developers.
Cameron Barrett is the showcase here. He’s not a C++ hacker (maybe he is on the weekends, I don’t know enough about him to tell); He’s a web designer, who fiddles with HTML and similar mark-up languages,
isn’t what the general public considers a “skin” (i.e. a bitmapped
texture layered over an unchanged UI), it’s a proper GUI, with
customized functionality (limited, I might add, but he’s only worked on it for a month). Like all the other Mozilla applications,
it’s a Web App, something you would once run in a webpage. Except that Mozilla provides web developers with UI widgets and UI logic at
a much higher level then plain old DHTML gave them.
Following Dave’s advice, Netscape/Mozilla engineers have spent considerable time and effort to allow web developers (and not just programmers) to hack Mozilla.