2006/04/24

Eight years of free software

I did not remember at first, but the last April 16 was the eighth year that I am involved in free software.

At 16/4/1998, the courier delivered a book at home: "Linux: The Complete Reference" - a loosely coupled collection of HOWTOs printed in 2000 Bible-thin pages. I had previous contact with UNIX since 1993, but freedom and openness opened a completely new perspective of exploring the operating system.

These were romantic days, when we dreamed of conquering the world and defeating Windows from our machines for good. Marc Andresseen was then the "last of the heroes", who prophetized that Web browsers would outcast desktop operating systems, and ended up himself defeated by a Microsoft browser :)

Now, 8 years after, I ask to myself: did we win? did we loose? Windows is still around, bigger than ever in absolute numbers, so there seems to be no motives to celebrate. In the other hand, Linux is everywhere, not in every desktop as we wanted, but quite certainly in every server room.

My gut feeling is that we won. Not like so many stories of military leaders that declared victory and went out of scene to leave room for their enemies; we have won and we have occupied the territory, so the victory will last for quite some time.

Apart from the lowly Linux-as-firewall-and-proxy machine in every network, we can see free software being used in the most important software projects. A big share of non-Intel x86 development is powered by GNU/GCC toolchains, for example the Symbian SDK (that unfortunately is Windows-only, at least officially).

Still in Symbian, serious developers use Cigwin to have a "real" and useful command prompt instead of MS-DOS. Talking about MS-DOS, most embedded applications (e.g. gambling machines) of it make use of FreeDOS. In the Web arena, server development is dominated by PHP, MySQL and Apache trio. The most acclaimed Web client is Mozilla/Firefox. OpenOffice is quite far from eclipsing Microsoft Office but is already a decent alternative.

Even some proprietary platforms like Mac OS X are largely based on free software, from the toolchain to high-level components. Herds of developers are falling in love with interpreted languages bred in free software environment, like Python (and Ruby, and Perl, and ...). Free software is even helping to legitimize languages with completely closed-source DNA, for example C# and Java.

From all these successful free software stories, we can learn something: it's the applications, stupid! Instead of insisting on free software in every layer of the stack, from BIOS to the 3D game, we conquered by offering single and PORTABLE applications that solved in the best way a particular problem. Portability is important. Most users still use Windows; neglecting this fact of life is neglecting 90% of the potential users.

So the user is nailed, and is encouraged to try the next free software, and who knows, someday he will try the whole stack. In the other hand, the Joe User would never replace Windows by LInux just because the latter is "more free" or "more pure".

Let's be frank, most of the Linux growth, at least at the 90's, was due to the Internet wave, the need of a NAT/proxy router, and the fact that Linux did it better and easier than anyone else. Also, it was compatible with virtually any UNIX program, be it POSIX, System V or BSD (very different from any other commercial Unix system at that time).

So, we spent some time knowing the path. Now we can walk the path :)