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?