Blind belief in authority is the greatest enemy of truth.
Albert Einstein
Introduction
Our previous post, about the difficulties of installing Firefox 3 on reasonably recent Linux distributions, has triggered a strong reaction from some “Linux supporters”. Since the Mozilla Foundation will stop supporting Firefox 2 in December, the whole GTK+ 2.10 dependency discussion is even more “on topic”.
It's interesting that somehow the original post was seen as criticism of Linux, whereas it targeted the Mozilla Foundation decision to have Firefox 3 depend on GTK+ >= 2.10 without providing a portable package. Although there are many things that we'd like to see improved on Linux, there is nothing here that is Linux's fault. However, the kind of comments we got in “defense of Linux” are telling of some users mindset and worth a public reply.
Meanwhile, we found that this has also been discussed elsewhere and linked from the Linux Haters blog. If you're coming from there, we're sorry to inform you that we don't hate Linux... it's well the opposite. We also inform you that the blog author got it wrong. We're not "blaming Firefox for not supporting old distros” (like Suse 6.3 or Red Hat 7). We're talking about systems that are 1.5-2 years ago. Those systems are not old. In fact they are very new compared to say... Windows XP.
Feedback analisys
We can easily sort the received comments into four categories:
1) you don't know Linux, Linux is not like Windows
2) your distribution is too old – just upgrade it,
3) please compile and install new version of GTK+
4) complain to your Linux distributor
For obvious reasons we don't feel the need to address the first category.
Software distribution vs Linux distributions
One major problem we saw in the community response was the confusion between software distribution and Linux distributions. It is true that Linux distributions pack a serious amount of software in an easy-to-install form. However this doesn't mean that Firefox 3 should be regarded exclusively as part of a Linux distribution but also as software that is distributable. In fact, the Mozilla Foundation has setup the Spread Firefox campaign, not the Spread [insert your favorite distro here] campaign. Thus it seems reasonable to expect that the Firefox 3 package available from mozilla.com will work across Linux installations which are not pre-historic. As we stated before: it works for Windows 2000 which is 8 years old. Why would it not work for a 1.5 year old Linux distribution?
Some have said that Firefox needs to depend on a GTK+ version which is not available for all distributions but can't distribute a portable package to prevent.... code bloat. Well, the “no bloat rule” is generally correct. We definitely don't want a copy of gtk / cairo / pango / glib for each program that makes use of it on a Linux distribution. But Firefox 3 is not libfoo2_1.1. It is very important software that is supposed to spread independently. Does “spread” mean a different thing when it comes to Linux?
It doesn't take much effort to conclude that bandwidth and disk space are nowadays much less expensive than hours of specialized work. Engineering is about making reasonable choices, knowing that the rules must be followed while cleverly evaluating the need for exceptions.
A stable operating system
Linux is a stable operating system. It takes some time to setup and tweak, hardware integration can be quite time consuming but once it's running it runs forever. The initial effort surely pays off. With Linux the system performance doesn't degrade as time goes by, it doesn't get slower if there are additional programs installed and you don't get strange error messages for no reason. On a controlled environment a Linux desktop of a certain version may perfectly run for 3-5 years with surgical updates applied when needed. In fact this is highly recommended for corporate customers, as they don't want OS upgrades performed too often and an OS upgrade on multiple machines is not free of risk.
For non-technical home users the principle applies. When you install Linux for a home user that had stability issues with Windows, he/she will like to enjoy the newly acquired stability. And that includes not upgrading the OS too frequently. As the user starts feeling familiar with the system – and since it works well – it will not seem logical to upgrade it more often than say every 2 or 3 years.
Apart from security updates the most obvious candidates for updating an existing Linux installation are Firefox and Open Office, since both projects are evolving rapidly in terms of quality and features. But now Firefox 3 doesn't run on reasonably new Linux distributions. As previously said: this is NOT Linux's fault. However we think it is a paradox that while Linux is a very stable operating system some “supporters” find it acceptable that people have to upgrade the whole OS because of a web browser. This prevents the “perceived stability” of the user experience to match the stability of such an excellent OS.
The free users of Linux
Linux is a Free operating system. It's no doubt Free as in Freedom and sometimes Free as in free beer. According to many comments we received people should “complain to their Linux distributor” or “compile GTK+ and corresponding dependencies”. Does this mean that users of the Free operating system are now dependent on their distributor's willingness to backport GTK+ and friends because of a web browser? Or are they dependent on their guru friend to come around for some hours and build GTK+, pango, cairo....? We do know that many community distributions only backport security fixes, right? How free does Linux look when installing a browser on a perfectly working system takes several hours of a highly experienced person?
Another paradox. Seems that freedom comes at a cost.
Of course there's nothing wrong with Linux. The problem lies on the Firefox 3 package from the Mozilla Foundation. It's just that the situation makes Linux really look bad, and the arguments presented by some “supporters” don't help at all.
This way of thinking prevents Linux from spreading more quickly to users who might otherwise love it, fact which paradoxically goes against the will of its true supporters.
An example from the competition
Let's say we want to install another browser: Opera. We head to opera.com and just select the right package according the our Linux distribution.
Where does it run? Mandriva (10.1 to 2008.1), Fedora Core (All versions), Red Hat (6.2 to Enterprise Linux 5), Suse Linux (7.x to 10.3), Ubuntu (4.10 to 8.04) and many others.
Did Opera have to build one different package for each distribution version? No. They built packages for different versions of Qt / gcc and set up some trivial logic mapping the distribution version to the right package. They also have static binaries available.
The whole set of packages can be found here:
ftp://ftp.opera.com/pub/opera/linux/952/final/en/i386/
In our test the package we chose got installed in a minute and ran without any problems in the same system Firefox 3 refused to run.

Opera download options example
What can we conclude from here? Opera is really willing to distribute their browser to Linux users. Thus, they took care of any integration issue centrally so that the users could download something that just works. The Mozilla Foundation left the integration for each distributor / user making the work redundant for some and painful for many.
Conclusion
Linux is an excellent OS. Linux distributions do a fine job on packaging software.
The Mozilla Foundation made a bad engineering decision on delivering the hot potato of upgrading GTK+ and friends, to the users and distributors. This left many users without a reasonable option and distributors with the risky task of upgrading a core library upon which many other programs depend.
We think improvement is achieved by recognizing the problems and working on solutions. As Linux and Open Source supporters we believe action is better than denial. Thus, we have solved the problem by backporting the necessary packages (and dealing with the side effects) while recognizing that many individual users won't be able to do this. And we have expressed our opinion about this situation.
In short: this is not a Linux problem but it would have been better for Linux if it hadn't happened. It sure leaves a bad impression to the ones that go through it.
About us
We are an Open Source system integrator in Portugal. We support Linux, not by blind believing that it is perfect in every sense but by delivering high quality services to our customers. We have business customers from different markets running Linux servers, desktops and network elements. As system integrators we have contributed with either code or bug reporting to projects such as Mozilla, pam_mount, kmime2mozilla, aMSN, Kaffeine, OpenOffice.org, Scribus and Caixa Mágica, We are true believers of the Open Source development principles and founding members of ESOP - the Portuguese Open Source Business Association. Although we're also committed to server and network services we see Desktop Linux as a top priority. We're heavy users of Firefox.