quinta-feira, 28 de agosto de 2008

Linux commercial highlights

From time to time some interesting Linux commercials pop up on the Internet. Here's a few of them.

A personal remix video someone did just for fun



One of the best Red Hat commercials



The well known "Prodigy" IBM commercial



The vintage-style IBM servers running Linux movie



And finally a Novel spoof of MAC commercials with debatable outcome



The funniest comment I read about this one: a tyler-from-fight-club style jacket straight outta 1999. Not exactly "keeping up with the latest trends".

.

segunda-feira, 25 de agosto de 2008

Firefox 3 GTK+ 2.10 horror show - community response


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.


sábado, 9 de agosto de 2008

Firefox 3 GTK+ 2.10 horror show - open question to the Mozilla Foundation

So it seems that the previously small group of 10 people, who now turned into a 160 employee organization has lost the notion of common sense during the last beast rebirth.

With the release of Firefox 3, the Mozilla Foundation decided to integrate the browser further with GTK+ 2. That is not a problem in itself and we understand the merits... the problem is depending on GTK+ 2.10 or newer which only the most recent distros have included. The worst part of it is not acknowledging that this is a problem and just passing the hot potato to the users and distributors. As a consequence users of Ubuntu 7.10, Red Hat Enterprise Linux 4, Mandriva 2006/2007 and many other distributions need backported packages to be able to run Firefox 3.


Firefox installation on Windows (even Windows 2000 which is 8 years old)

Firefox installation on Linux (unless you distribution is less than 1.5 years old)


Yeah, sure.... you *only* have to upgrade GTK + to version 2.10 or newer... and compile pango, cairo, glib, libthai, libdatrie..etc. And yes, you'll be upgrading, on your production machines, a set of critical libraries on which a huge number of applications depend to be able to install Firefox 3. Who knows what that may break? The alternative: upgrading the whole distribution even though it's working perfectly.

Why does the Mozilla Foudation think that instead of providing a self contained Firefox 3 package with the necessary version of GTK it is better to have each single Linux distributor backporting critical packages or users suffering with horrible compilation issues? Is it efficient to, instead of having the problem solved centrally, force everyone to go through it? What if OpenOffice.org now decides to depend on GTK+ 2.12?

But let's accept the unacceptable for a moment. Let's backport the necessary packages (and ensure all the relevant dependencies) so that Firefox can be upgraded on our customer desktop machines with a single click.

Trivial backporting process (history)

After all this, we come to find out that GTK 2.10 or newer, is not OK if we don't want Firefox 3 to crash everytime the user tries to print. Although it's not written anywhere, except on comment 28 of bug 422916, it has to be GTK 2.10.6 or newer. Let the whole rebuilding fest restart.

For the record, when everything was solved we had rebuilt exactly 25 RPM packages:

gdk-pixbuf-loaders-0.22.0-9.1
gtk+2.0-2.12.9-1.1
glib-gettextize-2.12.3-2.1
libthai0-0.1.9-2.1
ia_ora-gnome-1.0.8-0.1
libcairo2-1.2.4-1.1
thai-data-0.1.9-2.1
libgdk-pixbuf2-0.22.0-9.1
libgdk-pixbuf-gnomecanvas1-0.22.0-9.1
libgdk-pixbuf-xlib2-0.22.0-9.1
libgtk+2.0_0-2.12.9-1.1
libdatrie0-0.1.2-0.1
libia_ora-gnome-1.0.8-0.1
libgdk_pixbuf2.0_0-2.12.9-1.1
perl-Cairo-1.00-0.1
perl-ExtUtils-Depends-0.205-1.1
perl-ExtUtils-PkgConfig-1.07-1.1
perl-Glib-1.140-0.1
perl-Gtk2-1.140-0.1
glib2.0-common-2.14.1-1.1
libglib2.0_0-2.14.1-1.1
libgtk+-x11-2.0_0-2.12.9-1.1
libpango1.0_0-1.20.0-0.1
libpango1.0_0-modules-1.20.0-0.1
pango-1.20.0-0.1

I find this situation total nonsense and honestly think it issues a very negative message to the Firefox Linux users, because we all know this would never happen on the windows version (imagine Firefox depending on Microsoft backporting some newer Vista dll to Windows 2000....).

We should have in mind that this article is not about bashing the average small-saturday-afternoon single developer open source project. Firefox is now a huge project with an important mission and relevant market share. The Mozilla Foudation has enough resources to make it easily installable without breaking production systems or requiring guru-level skills for installation. This was surely not a question of resources. It was just.... a very bad decision.

After all should we spread firefox or shred firefox?

sexta-feira, 8 de agosto de 2008

Interoperabilidade a dois tempos

No dia 4 de Agosto de 2008, todos os utilizadores do AMSN ficaram ser acesso ao serviço. A causa deste outage, segundo se apurou, foi uma alteração do protocolo. Felizmente o projecto AMSN já se tinha precavido e a versão mais recente liga-se sem problemas ao serviço.

É apenas um caso que ilustra o que acontece quando a suposta interoperabilidade existente depende de um implementador privilegiado, o qual controla o protocolo, a rede e detem a posição dominante.

Qualquer extrapolação entre este cenário real e outros cenários de interoperabilidade, que estejam na ordem do dia deixa-se ao cuidado do leitor.

Os nossos parabéns ao projecto AMSN pela qualidade e rapidez de resposta.



quinta-feira, 7 de agosto de 2008

O paradoxo da escolha

Bem a propósito deste texto em que se abordou entre outras coisas a questão de selecção de aplicações nas distribuições de Linux, vem um post curioso do Linux Hater's blog. De facto, tanto a redundância de aplicações (síndroma Canivete Suiço *) como a proliferação de inúmeras distribuições (síndroma Not Invented Here) são dois importantes entraves a uma mais rápida generalização dos sistemas Linux ao público em geral. A escolha é boa, mas só em pequenas quantidades. Se ao utilizador se exige que tome muitas decisões, este rapidamente decide usar um produto mais simples. A figura seguinte, retirada do post mencionado acima, ilustra simbólicamente o panorama com que se deparam os potenciais utilizadores de Linux.



* Canivete Suíço: ferramenta faz-tudo que desenrasca em qualquer situação, mas não está optimizada para nenhuma tarefa em particular, pelo que se torna inútil para uso contínuo.