Posted Dec 12, 2012 19:07 UTC (Wed) by commodorejohn
In reply to: Mmm
Parent article: Haiku edges toward general release
You do know that this is a generalized problem, not a Linux problem, don't you? If you use enough, diversified, Windows or OSX software, you'll see yourself in the same situation. (Yes, there are more than one toolkit to develop under Windows and under OSX and yes, they "feel" as different as Qt vs GTK...)
It is a generalized problem, yes - but it's much worse in the Linux software ecosystem than on any other system I've ever used. Windows and Mac software vary, but not by nearly as much.
Nothing solves that. Windows is VMS, the rest of us (including BeOS/Haiku, you can open a terminal and type "ls -l" there) is Unix.
Well, for starters, Windows is only VMS deep down at the kernel level, as far as I've been able to find out. MacOS wasn't Unix until 2001. But more importantly: BeOS and Haiku are not Unix. The presence of bash notwithstanding. It does not share an API with Unix, it's object-oriented and not pipe-based, it doesn't use either the classic Unix or BSD file hierarchies (indeed, it organizes things in completely the opposite way from traditional Unix.) It is not based on Linux or any other Unix-derived kernel. In fact, they specifically state that it is not Linux, because so many people like to assume that any open-source OS must be Linux in some form or another.
Operating systems are complex beasts. You see "forty years of cruft layered", I see "forty years of evolution, trial and error to solve find heuristics to unsolvable problems." It is a good thing. Every single, "younger", other-lineage OS got stuck in their growing pains by the 90s and died.
Operating systems are complex, alright. But just because you spend forty years developing solutions does not mean that you should stick with them. Modern-day Unix is like an archaeological tell; you can trace pretty much the entire history of computing from 1970-present by stripping away successively lower layers until you arrive at the bottom, where you're left with serial ports, threads, and a filesystem. That's interesting from a historical-record standpoint, to be sure, but it also means that you're carrying forty years' worth of baggage around with you.
There might be an argument to be made for that in environments like server rooms, where you want known entities with definite compatibility a lot more than you want a sane design. But in a desktop context, it's just ridiculous. There's no reason, from the perspective of a desktop user, that things should be this complicated, that getting a system up and running again if it's broken should involve digging through scripts that call scripts that call applications that call scripts to find where the problem is.
How often has Unix as a whole been refactored? Why hasn't more of this complexity been stripped away? Because it's clung to with a religious tenacity, and anyway, a large number of open-source developers aren't interested in doing things that make life easier for anybody but open-source developers. And you wonder why you didn't win the desktop war.
Or, as the Haiku FAQ puts it:
Linux-based distributions stack up software -- the Linux kernel, the X Window System, and various DEs with disparate toolkits such as GTK+ and Qt -- that do not necessarily share the same guidelines and/or goals. This lack of consistency and overall vision manifests itself in increased complexity, insufficient integration, and inefficient solutions, making the use of your computer more complicated than it should actually be.
Instead, Haiku has a single focus on personal computing and is driven by a unified vision for the whole OS. That, we believe, enables Haiku to provide a leaner, cleaner and more efficient system capable of providing a better user experience that is simple and uniform throughout.
Sounds a lot more palatable to me.
And as an aside:
Some examples: Mac OS 9 -- had to be replaced by unix, even after IBM and Apple spent some millions (billions and billions? :-D) with Taligent/Copland;
Mac OS 9 did have to be replaced, yes - but nobody said it had to be replaced by Unix. It was replaced by Unix because Steve Jobs came back from NeXT and wanted to make sure that everybody knew that this was his company again. It could've been BeOS, if either Apple or Jean-Louis Gassée had been less stubborn. And Taligent/Copland didn't fail because they weren't Unix, they failed because of internal politics and poor project management.
to post comments)