Mozilla

In the recent times I often wished Mozilla would just go away. This has been the case whenever I had to write code that interacts with Mozilla. You can witness the frustration in swfdec’s mozilla-sucks directory. It’s an experience I wish noone has to live through. And after talking to Vlad and Reed (You need a blog, where am I supposed to link to?), I now think I understand why interacting with Mozilla is such a bad experience.

The problem with Mozilla – note that I’m saying “Mozilla” when I mean “the community of people that make up the Mozilla project” – is that it’s focused on building a stand-alone project. A number of products (like Firefox) are built with the single goal of putting out an awesome complete product. For this goal, Mozilla takes responsibiltiy for all the software it uses and makes sure it is tuned to work perfectly with the product they ship. This is likely the best way and maybe even necessary if you are in a “hostile” environment like Windows or OS X, where the people building the operating system ignore you or are your biggest enemies for market share. However, it is somewhere between unfortunate and hostile if you behave like this in a cooperating environment like Linux.

The way I experience building Linux is that everybody works together to ship awesome software. Everybody has different goals, but there’s a constant exchange of this so people are aware of each other’s issues and ways to fix stuff are worked out. It also means that everyone customizes each other’s stuff all the time. Sometimes this works out well, sometimes not so well. But at all times it is encouraged to cooperate to achieve whatever you want.

The most obvious example of where Mozilla’s goals contradict with other Free software projects is the trademark issue, which is a licensing question. This leads to a problem between distributions and Mozilla about the question of how much customization they may do to Firefox to integrate it into the distribution. Then there’s the missing integration of Mozilla technologies into other projects. Mozilla does not only have a great web browser, it also has the fastest Javascript implementation or a complete network library that noone but them uses and everyone else has to redo. On the other hand they still insist on weird technologies that just don’t fit into my GNOME desktop.

I guess this absence of Mozilla from the Free software community and insistance on doing their own stuff is what causes frustration with Linux people and fuels the buzz about browser replacements. Mozilla seems to see the problem, but I don’t think their solution is right. We don’t need just a technical solution. We require a solution in people’s minds.

7 comments ↓

#1 HangLoose on 05.25.08 at 14:40

Whaaat ?! First you say about that Mozilla Community “ignores” the ones that try to communicate ? Do you actually try to work with Linux community at all ?! Its horrible the interaction between the “noobs” that try to do something and the “Royal Family” that seats developing in Linux.

And then you jump from “community development” to licensing issues ?!

And please, oh please, “On the other hand they still insist on weird technologies that just don’t fit into my GNOME desktop.” Sure… Remove all the mono related stuff from gnome. That parasite stuff and then you can talk about weird technologies.

Innovation != Weird technologies
Mono ? Licesing Issues ? Come ON!!!!

#2 Benoit Jacob on 05.25.08 at 15:29

Completely agree with you, Benjamin. Mozilla is really focusing on the Windows platform, is behaving as do other players in the Windows ecosystem, and this feels completely alien in the free-*nix ecosystem.

#3 Peter on 05.25.08 at 17:08

I don’t think its very fair. The vast majority (if not all) of the Mozilla codebase is triple MPL/GPL/LGPL licensed. The trademark has nothing to do with licensing. Other OSS projects like Fedora have trademark rules in place. It allows people to reuse the code without damaging the project which works very hard to build their public image using the trademark.

Also the I can quite clearly see why they also take control of the various libraries and systems they use. You just have to see the bitching over the fsync issue on some of the planets of late to see that the use of an upstream version of sqlite that has a bug in it as to why they do take control. They also contribute to the upstream products they use quite a bit, just look at the use of cairo and the contribution that they’ve made to it. And while your point with necko is reasonable what about nss and nspr? If I try to remove it yum tries to remove half my distro inclusing WebKit

They have an awesome product that they work very hard on so it looks, renders and works the same on what ever platform you happen to install it on whether that be MacOSX, Windows OR linux. They also have it so many of the extentsions will work natively on all the platforms too. I can hardly blame them for wanting a consistent user experience. I’m sure also part of the pain of developing plugins is the amount of time they have to keep around old APIs so some random old plugin will continue to work. About the only other OSS tool that I know that goes to that length of pain is GTK and that would be for the same reason…. old proprietary applications that people have invested in (time, resources or money).

I have no doubt the Mozilla can be painful to work with but I’m sure they have their reasons.

#4 Harry on 05.25.08 at 21:34

What a silly blog post. I dont really understand what point you’re trying to make. Is it that Mozilla cant write good code and for that reason “mozilla-sucks”. Or is it that you feel that if one is to develop for the gnome/linux environment they must divert their full attention to developing for gnome and linux itself and nothing else and they must not use their own in-house and hostile/weird libraries as they dont feel right/gnome-y. Or what? WTF is the point of your blog post?

#5 Fabian on 05.26.08 at 07:43

Thanks for pointing to Ubuntu for a good example of “shipping awesome software” and to Debian for an example of “not so well”. Ubuntu, of all things! You don’t seem to understand…

#6 Robert O'Callahan on 05.27.08 at 02:25

Over the last couple of years we’ve invested a ton of work in using and improving cairo. We’re using Pango. We’ve contributed to SQLite and GNOME accessibility work. We’ve done a ton of work to better integrate Gecko with GNOME, from printing to using GTK-themed widgets in Web pages (code that Webkit/GTK is actually using). I’m not sure how that adds up to “absence from the Free Software community” and “insistence on doing our own stuff”.

You have two complaints that I do agree with: NPAPI sucks, and we haven’t done enough to make our components reusable in the GNOME stack. The former is an ancient problem that no-one can do much about. The latter, no-one ever seemed to think was interesting enough to work on, either on our side or the GNOME side … at least until recently when Redhat started working with NSS and we started doing more work on Gecko embedding.

#7 Lucian on 05.27.08 at 13:52

He does have a point though. Mozilla doesn’t care much all that much about Linux.

“On the other hand they still insist on weird technologies that just don’t fit into my GNOME desktop.”
– You have no idea just how bad it is in KDE. You’re privileged.