Haiku is relevant

In lieu of the semi-dramatic scene that unfolded over “20 Reasons I think Haiku is still relevant” article in the Haiku Newsletter, I’ve been inspired to write down some thoughts on the subject. In reading over Michael Phipps’ article, I’ve come to the question: “Do we need another operating system in the world?” It is this very question that Michael Phipps tried to resolve in his article; and though it roused the Haiku masses, it left doubt in others. After reading it, I can say that I was on the fence about whether or not to believe him; I have been let down in the past, and I’ve been mislead. But given my experiences in the past I can say: yes. We need Haiku. It might’ve taken a while to reach this conclusion, but I do believe that Haiku is necessary, and the time is ripe for such an operating system.

My problem with the open-source community is that everyone believes they can do it better. Everyone believes that their method, no matter how arbitrary, trivial, or defunct, is the best method. There is no better illustration of this than GNU/Linux and it’s surrounding projects. There are countless distributions of the GNU set of software and the Linux kernel: some are no longer being maintained, some have package managers maintained by the main projects, some have differing sets of kernel patches, some are made to fit on floppy disks (tomsrtbt), and other are made to be bulky. There’s a Linux distribution for everyone’s needs, and this is useful. Everyone gets their needs met.

Within the Linux community, there are many projects, many factions; and those factions compete. If you want a toolkit for GUIs, then you’ve got QT, TK, GTK+, GTK2, etc. There are a million choices and usually a few of them have huge (and often Zealous) communities. Such is the nature of the average IRC channel on the average IRC server – many Python/Ruby/Perl/PHP/Java users will argue amongst themselves to death about which language is better (not to say that every developer does this, but it just so happens that some do this). If I recall correctly, the Gentoo Linux distribution spawned fork called “Zynot”, because of an argument between maintainers of x86 and PPC – this isn’t public information, but that’s what happens when you lurk on IRC channels. One of the official reason Zynot was created is because Gentoo’s package manager is written in Python, and many users wanted it written in Perl or C for speedups. This is the problem of the open-source. Somewhat frivolous differences drive major decisions. A new Linux distribution can be created for no reason at all – in the situation of Zynot, it was over an IRC fight – and the user is left confused. If a country has a political revolution every five minutes, how can it ever serve the interests of its people? Shouldn’t the user’s wishes as a whole drive the goals of a this sort of project.

Lately I’ve been poking around Haiku and R5, remembering my experiences using R5 when it was released. It was fast and did what I wanted. Strangest thing is, I’ve never had an operating system that worked quite the same way. I’ve never had an install of Linux of BSD that didn’t have hundreds of libraries that conflicted on a semi-regular basis or some simple interface problem that needed to be fixed. I’ve never had an install of any operating system where applications worked together all the time – codecs installed in one place might have to be installed in another place, or another library might be needed to unlock some feature, or some flag will conflict with another flag, or some other nuisance that gets in the way of doing any work. I’ve never had an install of Linux or BSD that “just works” – there’s always some work to be done tracking dependencies, choosing compiler profiles, setting environment variables, finding drivers. This might be acceptable for me – I’m willing to suffer some virtual terminal hell for the sake of a new Kernel, Gnome, and a freshly built Firefox – but the rest of the world does not want to deal with it. Who could ever dispute this? Ask you mother if she wants to deal with compilers and scripts. She will reply: “hell no.” But if she says “Sure,” then you should give her a medal of honor.

BeOS gave me a part of what I wanted: a clean interface, a design scheme that made multimedia that much simpler to manage, speed (at that time, it was way faster than my Windows 98 installation), and a competitor to Microsoft. Some things it didn’t provide me: drivers for all of my hardware, complete and utter stability, access to the source (mostly to test new things). None of it mattered though: It was an operating system that I would’ve considered showing my family how to use! It was a system I would’ve been proud to use.

Haiku seems to be the next in a series of good intentions on the part of developers: to take something that was an interesting and practical effort (for most of us) and revitalize it for the rest of the world to use. BeOS was something. To dispute it is useless. Anyone in the BeOS community can tell you how much mileage they’ve gotten out of what is called a dead operating system. It doesn’t matter how it appears – once you install a codec in BeOS, everything else in BeOS knows that it’s there. No other operating system does this, and no other operating system will do this. 

Creativity and design will pull Haiku into the forefront. The important thing is to do exactly what our great developers have been working hard at for years now; they’re following the logical extension of what Be was trying to achieve way back when. So I put this question to you all, because all of you are more a part of this than I am: where did you see Be taking their Operating System; where was it headed?

You know where I saw it headed? I saw them extending the framework and supporting developers to create something of what Apple did: a suite of multimedia utilities that interact with all the programs you’ve ever used. If you listen to an MP4 file, you can take it and convert it to whatever format you want, mux it in whatever container format you want, output it to the same formats that VLC uses to receive video streams, etc. I imagined them making it possible that every media application knows what every other media application knows. 

So what about you all?

I think Haiku is incredibly relevant. It’s not a continuation of BeOS, but a fresh look at ideals behind BeOS. I think that’s one of the project’s most admirable traits, in that it doesn’t just have the benefit of learning from the mistakes made by other desktop operating systems, but the mistakes that Be themselves made and can only be seen in retrospect. I think that’s a point of differentiation that the project needs to maximise; Haiku isn’t BeOS 5. Is like BeOS R5, does it run BeOS 5 applications? Sure, but it’s even better than BeOS 5, and not in a tacked on way like Zeta, but with the fresh perspective that only a total restart can bring.

Haiku and Linux are to me is what Firefox was to the Mozilla suite. All of the desktop Linux distributions are trying to fit a square peg into a round hole. Even the much touted Ubuntu (which I’m writing this from) has some very, very serious problems which can’t be fixed without a significant upheaval of the existing model. Haiku is built from the ground up as a desktop operating system for a general audience. This is a first as far as open source is concerned, and I think that’s why Haiku is relevant.