This summer the Mozilla foundation will release Firefox 1.0. Based on the soon-to-be-released Mozilla 1.7
code base, Firefox 1.0 marks another milestone in the existence of "Mozilla" as the evolution of the Netscape
code base since it was released as Open Source in 1998. Seemingly endless branding problems and name changes, an entire rewrite, and three organizations later, Mozilla still marches on as a collection of different products. Firefox
0.9, the final milestone before 1.0, was released today. Weighing in at 4.6MB, Firefox
0.9 is the smallest "Mozilla browser" since Netscape 3.0 in 1997.
As one can imagine, such a long and colorful history is bound to have its ups and downs. We ran into Scott Collins at this year's Penguicon and had a talk about Netscape, Mozilla, software development, and the web in general. Scott Collins was hired into Netscape in 1996 and was in the trenches during the "Browser Wars" all the way through to the axe cut at America Online of the Netscape team. A veteran software engineer, Scott
has also worked on the Newton software at Apple Computer, and for Macromedia working on what would eventually be sold as Final Cut Pro.
Though no longer working on Mozilla on a day-to-day basis, Scott continues to evangelize the Foundation and speaks about the
code base and its history at events all over the world.
Scott's statements here are his personal opinions and
observations: "In this interview, I speak for myself only, not for mozilla.org,
the Mozilla Foundation, AOL, Netscape, or anyone else. I have plenty of
opinions. mozilla.org and the Mozilla Foundation do not; and if they did, they
would have plenty of room to disagree with mine. I'll take the heat for my
opinions, and for any place where my ignorance has introduced factual errors
(and from the email, it seems I may have made a couple)."
Having gotten that out of the way...
Ars Technica: Where do you see the future open source desktop, specifically this new interest in GNOME and Mozilla collaborating. Do you think that Mozilla needs to collaborate with other OSS projects in order to be successful, or do you think that it can survive on Windows? What about competition with Microsoft?
Scott Collins: I think that's a very tough question. I think that definitely Mozilla is going to thrive on Linux, and I hope that it thrives at the same time as the other Linux browsers that are available, and I hope that they drive each other to new heights.
There's only one thing powerful in this world enough to topple Microsoft, if toppling Microsoft is your goal, and that is Microsoft. People and empires, they fall under their own weight, because they're the only ones heavy enough to take them down. I think we are seeing the beginnings of that, a tremendous backlash in the marketplace towards software companies that are taxing their users, hugely in the cases of these giants like
PeopleSoft and Oracle, but even those that tax the middle class like Microsoft does.
There's also Microsoft's hubris, that they have all the answers, that they know what's right for you, but yet we keep getting more and more security patches from them, because they don't actually know what's right for us. And Ballmer is saying that they didn't make any mistakes. Everybody makes mistakes, I've certainly made my share, and I'm certain that Microsoft has made their share. And to say that the virus culture was different two years ago, that's not true. Viruses were bad two years ago just as they are now; it's the same environment and the same hostility. Microsoft didn't do the right thing then, it wasn't a different culture,
and they made a mistake.
Pride comes before a fall, and it is their hubris in knowing what people want, and saying "we know what is good for you," that is eventually going to pull them down. It's not going to be that somebody else actually knows better, because Microsoft actually does have a pretty good idea of what one generalized virtual person wants. But I think in the new world it's not about one big program to solve everybody's needs, it's about a zillion tiny programs all stuck together. Stuck together one way for you, stuck together another way for me that do the right thing. I think people are becoming savvy enough where they don't want a general program, they want something customized, they want a software kit that does what they want. Maybe if you're a business, it's not that every employee has a software kit, but maybe you are willing to spend to have two IT guys take an existing software kit and make it exactly what your business needs.
Microsoft is going to make it so painful for people to have exactly what they want that they'll give up. Some of them will live with what Microsoft gave them, and others will turn to systems to where they can get exactly what they want. And since no two people want the same thing, it's going to be a world of putting the pieces together. Microsoft will be the fall of Microsoft, and that's when the little pieces that cooperate with each other will thrive. Will Mozilla beat Microsoft? No. Can Mozilla thrive? Yes. What will make Mozilla thrive? Microsoft's fall under their own weight.
Ars: Speaking of little pieces working together, what is your opinion on Mono and the current work done by Mike Shaver and others to make Mono and Mozilla interoperate and integrate seamlessly? What do you think about C#?
I think Mozilla and Mono have a tremendous synergy that could really lead to great things, and I'm all for that. In general, C# is better than Java, and surprisingly so. It does the things that Java wants to do and does it better, however, Microsoft has come out and said that C++ is still the favored language for development on Windows, with managed extensions. I was the C++ language lawyer at Netscape, and I love C++, but I use the right tool for the job; lately I've been writing things in PHP using the PEAR Libraries. I really love Python and
JavaScript, everyone of these languages has its place. It's these languages that try to be dogmatic, that think they are the whole answer, but never are the whole answer. Java has everything you need and doesn't want you to use anything else, but most of these languages come with stuff right out of the box that let you pull in things that you need. The whole .NET framework says "Use whatever language is appropriate", I like that. It seems that C# is very vertical, it's aimed at
in-house type projects, and it's beating Java. Frankly though, if I had to write something in house, on a
heterogeneous deployment, I would be strongly tempted to write it with C++ and Qt. Qt is extremely affordable and it's just great stuff.