OSS Unix: Dividing & Conquering Itself
(Score.5, Interestin writes "Security guru Marcus Ranum has some interesting thoughts about how a continuing lack of consistency among Unix systems (and particularly Linux) is hurting Linux (and remaining commercial Unix vendors like Sun) and helping Microsoft. Admittedly this has been said before, but no-one else quite manages to phrase things the way Marcus can."
And get a windowing system that can be tuned to be efficient if one so desires.
Bloody 'ell!
the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff
This argument could go either way.
The opposing view would be that since Linux competes with itself, through survivial-of-the-fittest, only the most prefered features get passed on. This process would make the OS stronger with each iteration. These iterations are more frequent than iterations of Windows.
This is fairly different from Redmond's approach of dictating what a Windows user wants and patching it to keep it working. Then maybe with the new version of Windows every 4 years or so (or maybe some large service pack) there will be some significant feature change.
There is a more consistent look and feel between Windows versions because features aren't competing side by side with each other. In Linux, there are competing desktop evironments, file structures, startup scripts, etc. Any featureset that is determined poor or redundant is dropped and the stronger featureset prevails.
he's right.
I've been kicking around Unix and Windows systems for as long as he has, both as a network and system administrator and more recently as a journalist, and while the techie side of me cares passionately about distribution performance and the like, I also know that what the real world cares about is: 1) Does it work and 2) Do I have to learn anything new about how it works.
That's it.
Anything, anything, that gets in the way of getting the job done with the least amount of training gets in the way of adoption.
That's why efforts like the LSB are so darn important. ISVs, CIOs, CTOs and customers, don't want to care about whether you're running Red Hat or Novell/SUSE, KDE or GNOME, they just want to stick the disk in and have the program run. Period. End of statement.
We, as techies, may love to argue and fuss over every last detail--file system fights anyone?--but operating systems are just like cars. While gearheads love tinkering with every last detail of their automobiles, most people just want to get in their car and drive.
Windows may splutter and be prone to accidents, but you just drive it.
Until Linux and the other open source operating systems stop requiring people to turn the starter crank, let out the choke, and pump the gas pedal three times before starting--with each distribution requiring a slighly difference sequence--Windows will continue to dominate the desktop.
Darn it.
Steven
Who needs an enemy when you can divide and conquer yourself?
I survived the UNIX wars, unlike most of the companies involved in them. In their day, Pyramid, SCO, Apollo, DEC, Sun, Silicon Graphics, Gould and others fought ferocious scorched-earth wars trying to win customers' minds and money. The survivors, with the exception of Sun (a.k.a., The last man standing), have either disappeared into the mists of time, or are niche players that have been forced into new markets in order to survive. Other than their conflict, what did they have in common?
They were all selling some kind of UNIX operating system.
Back in the UNIX wars, the vendors had two primary axes on which they could compete: hardware speed, and features of their flavor of UNIX. Toward the end of the UNIX wars, a third battle evolved, over the desktop metaphor, the look and feel of the workstations' GUI. If you were around back then, you'll remember the ferocious fights over whether or not the 3D-look widgets of the Open Software Foundation (OSF) Motif metaphor were just flash and glitter or whether they were actually kind of cool.
Today, few remember the argument, and the code in question would be considered remarkably tight and lightweight compared to what people now use. If you step back and look at the UNIX wars from a high altitude, the actual battlefield was very small - GUIs and features in a UNIX operating system don't really sway customers much. The vendor who won, Sun, did so because they offered a consistent software experience (SunOs, later Solaris) across a broad spectrum of hardware at different performance levels from desktop to data center. In other words, the customers didn't care if the GUI had a 3D look and feel as long as it was fast, reliable, and affordable. A lot of users got sick of the debate and switched to a public domain window manager (I used twm on all my DEC, Sun, and BSDI machines...) - opting out of the whole battle - because they valued a consistent software experience more than they valued cool 3D-looking widgets.
You don't need to be an advanced student of computer history to know what happened. While the UNIX vendors beat eachother up over what amounted to nitpicking details, another vendor offered the same consistent kind of software experiencea cross a broad spectrum of hardware, including laptops. I am referring, of course, to Microsoft/Intel. Through the exacting lens of 20/20 hindsight, it is clear that the UNIX vendors were short-sighted losers arguing over what to watch on the television and fighting for the remote control while the house burned down around them.
Now, read this carefully: I am not bashing Microsoft Windows. Nor am I bashing UNIX. As a UNIX system administrator with 20+ years experience, and a Windows system administrator since Windows 1.0, I can tell you that there isn't a whole lot of difference in the work-load of efficiently running either environment. Sure, there are lots of annoying details in either environment, but it takes about the same time for an expert to load and configure a system. In the old days, UNIX machines were faster to bring online because of the prevalence of decent tape drives while Windows was primarily loaded by floppy - but that's about the only distinguishing factor I can recall. In other words, customers didn't choose Windows because it was better (or worse) than UNIX; they did it because Microsoft/Intel was careful to guarantee them a consistent software experience across a broad selection of hardware. Equally important, application developers flocked to that consistent software experience because it meant their products were cheaper to develop without the headaches of version-specific differences.
In 1985, when I wrote code for my UNIX machine, it worked on all the other UNIX machines because there was basically a single flavor of UNIX, which all used the same compiler, and everything just worked. Today, you actually have to be quite careful if you want to write code that compiles and works correctly on S
It takes longer to configure code than to compile it these days,
I disagree.
I've been building and installing open source software for at least 15 years.
In that time I've noticed that UNIX configuration and building is improving, although the complexity of what is trying to be achieved is increasing.
In the bad old days, you would edit the makefile in 8 places before your application would build correctly.
As time passed, application developers that cared about relieving their users of this burden started to distribute their packages with autoconf and later, as binary rpms, ports
Autoconf has made it easier for users to configure and build most applications with a greater burden put on the developers to code to HAVE_FEATURE_H and to construct robust test scripts in sh-m4 land.
Natural evolution will cause configuration and building to become easier. Whether it will be yum or emerge, I don't know, but I do know things are improving.
"Provided by the management for your protection."
The problem is that the "choice" people will come running at you with torches. These loud, obnoxious people have taken over the OSS movement and insisted that everything should be forked, there should be multiple versions of the same functionality, and there should be no standards so that everybody can choose various ones.
It's holding back a lot of progress.
I'll take you a step further: I think Linux not only need a single unified API for GUI applications, but I think that Linux needs to create an entirely new windowing system from scratch. I've never seen an X11 application that didn't look, or work, clunky. You'll never get rid of all those applications that don't support (say) copy&paste correctly unless you 1) FORCE them to port the programs to a new API, 2) Make is easier in the new API to create correct copy&paste than incorrect copy&paste.
Look at Apple's development tools. They rewrote the window manager from scratch, put in every great feature they could think of, then they specifically designed the API (Cocoa) to make it really easy to develop GOOD applications, and really hard to develop bad ones.
How many OS X applications do you see with bad GUIs? Maybe 5% of them? And half of those are ports from other OSes.
Comment of the year
The author draws a parallel to the earlier UNIX wars and the current variety of Linux distributions, and then claims that because of this, Microsoft are laughing all the way to the bank. I think he's wrong, and here's why.
1) Although it's true that there are a lot of Linux distributions, in practice at most five of them would be used by 99.5% of the Linux using population. Of those five, (Debian, Red Hat, SUSE, Mandrake, and a tie between Gentoo and Slack) three are RPM-based, which to a degree limits variation in their overall style, and also, many of the more popular "smaller" distributions are themselves derivatives of Debian or Slackware. Because of that, it's possible in practical terms to pare the core number of most popular distributions down even further, to just two: Debian and Red Hat's offerings/RPM based derivatives.
2) I myself haven't seen any of the division he talks about in the commercial space. From everything I can see, in the corporate world Red Hat is the undisputed king, as much as it pains me to admit it. Corporations won't buy anything unless a contract to feed them, burp them, and change their nappies goes along with it...and for that, Red Hat and IBM are the two primary sources.
3) Microsoft are doing anything but laughing these days. The author needs to go here and learn about the attitude Microsoft have developed towards Linux on their own, and it's not one of bravado. The stench of fear coming from Redmond over the past two years ago in particular has been palpable...Ballmer has been trying to hide it, but he is fairly obviously terrified of the progress Linux has been making, and with good reason. If Microsoft are so confident that Linux isn't going anywhere, then why has Darth Bill been making flying visits to different places lately, including Australia? Why did Ballmer personally try and prevent Munich's conversion to Linux, if it wasn't significant? I also notice that mention of Longhorn was conspicuous in its absence from the article...this is understandable, as it would not have aided the author's argument.
4) The UNIX wars were not on their own responsible for Microsoft's success. They didn't help, sure...but before Linux UNIX would not have achieved mainstream relevance regardless of what happened. The reason why I can say that with complete confidence is because UNIX as an operating system/s was written with the assumption that the human being at the keyboard actually enjoyed using his or her brain, when the truth is that around 95% of human beings do not. The main reason why Windows took over the world where computing is concerned is because it was written with the assumption that whether the person using it was intelligent or not, the one thing most human beings despise doing more than anything else is engaging in intellectual effort. The *only* reason why Linux has come out of the closet now is because of the effort that has been made towards user-friendliness for it. In the 140 IQ crowd, the BSDs are still almost entirely non-mainstream.
That said, open source UNIX is the future, and I believe it could possibly define computer use for the next several hundred years, assuming humanity lasts that long. The reason why is that OSX and Linux are proof of concept that although usability was not an issue that UNIX's initial userbase cared about, it is not a hurdle that the operating system is unable to overcome.
Gates was lucky. At the birth of anything new there is chaos, and for a while a number of different competing lifeforms exist. Eventually however, natural selection kicks in and standardisation takes place, as is gradually occuring now. Gates was able to take advantage of the primordial soup phase, and I begin to suspect that in the furthest recesses of his own soul, he has the necessary level of awareness to know that, as much as he may not want to accept it on a conscious level. Microsoft are indeed a dinosaur, and their extinction, albeit a slow process, is already at hand.