Biz & IT —

Ars Technica sits down with Scott Collins from Mozilla.org

During this past Spring's Penguicon, Ars had a chance to sit down with Mozilla …

Past Mozilla mistakes

Ars: You mention mistakes made by Microsoft. What do you feel are mistakes that Mozilla has made in the past?

One: There was a fundamental mistake made by Netscape management, twice, which cost us a release at the most inopportune time. I think we can attribute a great deal of our market share loss to this mistake that was pretty much based completely on lies from one executive, who has since left the company (and left very rich) and who was an impediment to everything that we did. He was an awful person, and it is completely on him that we missed a release. We had a "Netscape 5" that was within weeks of being ready to go, and this person said that we needed to ship something based on Gecko within 6 months instead. Every single engineer in the company told management "No, it will be two years at least before we ship something based on Gecko." Management agreed with the engineers in order to get 5.0 out.a

Three months later they came back and said "We've changed our mind, this other executive has convinced us, except now instead of six months, you need to do it in three months." Well, you can't put 50 pounds of [crap] in a ten pound bag, it took two years. And we didn't get out a 5.0, and that cost of us everything, it was the biggest mistake ever, and I put it all on the feet of this one individual, whom I will not name.

Two: We made a version of COM, called XPCOM, a fundamental piece of every component of every part of the software. We took COM all the way down to the lowest levels of the system, and I think that XPCOM is a fantastic useful tool. We had great and important places to use it, but we used it too deeply, we allowed it to influence our memory model across the board, and there continue to be costs associated with that which I don't think we need to be paying. I feel bad that I let it go that deep when I continually fought against it, but I am one of the perpetrators ? I wrote some of the machinery that made it easy to use COM, and that allowed people to go deeper and deeper, which we knew was a mistake.

I've been saying this for years, and people tend to think that I'm damning COM unconditionally, and I'm not. COM is very important to us, and it's a foundation of our scriptability layer, and scriptability is fundamental to how our application works. But I don't think every object should be a COM object. We are finally moving away from using COM for everything, and maybe a synergy with Mono will help us get to the right level of differentiation between objects. This is a deep engineering thing, but I believe that fundamentally that we took the COM metaphor too deep and we paid a price for that: we could have more performance sooner earlier on if we had recognized and stuck to limits in our use of COM.

Three: I was the head of the team that fought hard with Netscape management to get a system of XML to define the user interface. I named it the XML User Interface Language, or XUL (pronounced zool). David Hyatt is the primary implementer of it, and one of the ideas that we had is that we would have a cross-platform interface, but that you specify native controls with XUL. It turned out that specifying native controls with XUL was hard. They were limited, and hard to write, and we waited a long time. People kept telling us that Mozilla would never be good until we had the native controls, and we knew they were wrong, it is good without native controls, but boy, people really really want their native controls. And they really rewarded us when we gave them native controls. When we gave them things like Firefox, which looks native on the platforms that its on, and Camino, which is native in OS X. They thought it was fantastic.

We should have used native controls as soon as it was possible, despite of the fact that they're harder to write, because we ended up going that way anyway.

Ars: Can you name three things that you guys did well?

One: We promised that we would get the code out as open source on March 31, 1998. We moved heaven and earth to do it, and we got it out on time. It was no slam dunk, it was soul sapping, but we kept our promise ? it was very important that we kept our promise. [The PBS documentary Code Rush documents this entire period of Netscape's history, along with the birth of Mozilla.org. -ed]

Two: We got to a 1.0. We got there not on a time schedule, but by a set of things that we needed to do to get a 1.0 out.

Three: I think that we managed to let go of our preconcieved ideas of Mozilla. It's only because we're willing to let go of the past that we're able to move on to things like Firefox, Thunderbird, and Camino. I think that willingness to jump from the thing that we had, that courage to move to the untested new thing is the third thing we did right.

Channel Ars Technica