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 is my problem when I'm trying to convert my friends, family, or co-workers over to Linux. There are many good package distribution systems (apt, rpm, etc.), and many very solid distros, but that's part of the problem...
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
Make a system consistent and uniform across and you get easy to access, repeatable behavior in any application that utilizes it. However if the system is comprised now every application that utilizes it is now flawed in exactly the same way. In short, the advantages an application writer can utilize a hacker can utilized too.
Make a system hetorgenious where each system "rolls their own" security setup means that if one part is comprised doesn't automatically mean your system is comprised. However this is a nightmare to code through where some systems simply aren't talking the same permission objects.
I believe vendors should strive to blend both: a flexible system that behaves the same way reguardless of actual underlying system. A true enterprise solution has many layers of abstraction anyway. Hide away the parts that are different and expose the parts that are common. Do this any your SMB system will behave like your Kerbrose system and yet won't be weakened when one or the other is comprised.
Forget agreeing on the "one true system" becuase no system will satisfy everyone. What vendors should agree upon is interface API and build upon that. I really want a system where I can swap out SMB or Kerbrose or files with MD5 password hashes or whatever to all function. Diversity is key but behavior should be consistent.
4 ordinary users like me, customizable is worht about 2cents, on a good day. (joelonosoftware has a good rant about this )
/. community wants to make *nix succed ? how about easy backups (the existing backup solutions to MS such as retrospect, suck)
YOu know how much time I, and people like me want to spend learning about OSs ? zero
their is a good analogy: suppose ford or chevy announced a new line of cars with a great *feature - you had to go out and set the timing each morning, depending on your weather and the options that came with your car, so you could get an extra 2 mpg.
I think we all know how that wd fly
software is used because it solves a problem for the customer. FF is used because of tabbed browsing and bookmark tabs to a folder; all that stuff about open source and security and bloat is completely irrelevant to 90% of the users.
similarly, *nix will NEVER SUCCED UNTILL IT DOES SOMETHING I CARE ABOUT (I = normal people like me)
we do not care about bloat or saving a few hundred meg, or about the evil MS empire or about eulas or about open source or any of that stuff; it is irrelevant
and before u flame me, even keeks shd know that telling someone they r wrong rarely works
the
how about some way of breaking the info to user data rate imposed by screens
how about some way of putting my computer on a disk, so I can plug into any terminal
how about good filters on google - there is an app that wd drive linux
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
The problem with rants is that they have more cutting words than words cut -- they are filled with diatribe and not fact. For example, good Marcus tells us that the reason Windows won was due to consistency. BULL SHIT. It won because it was cheaper than Unix, was pushed onto new computers using illegal monopoly practices and had a good many inexepensive and productive development tools available for it. In other words, it entered the consumer market whereas Unix was content to ignore consumers. Microsoft entered the corporate marketplace much later and when it do so, its first competitor was not the Unix bretheren but rather Novell and its lan networking products. I was there just like Marcus and I too used the gammut of products from DOS to Vaxen to Unixes of many flavour to Novell to Macs to Windows 2 and beyond. I can assure you he is talking out of his ass.
Sure its annoying and there may be one too many linux distro's out there but you know what, at least it keeps linux/unix honest. I'm all for competition and maybe its the competition between the vendors that's advancing at a faster rate the development of linux than what would be otherwise...
I think as techie people we should just let it play out and live with it because it keeps us employed :)
You are buying too much into MS concept that operating system includes one standard UI. I am sure Gnome and KDE have all kind of configuration files not covered in POSIX. On the other hand, most Linux apps, including Gnome and KDE, compile and run on OSX without any drastic code changes. Why would you say OSX is less "UNIX" than Redhat then?
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.
Every year, I've been posting that the OSS world needs one sane, unified development API for its desktops. I sometimes get modded down, sometimes get angry replies...but nobody ever actually refutes what I'm saying, because they know I'm right.
A few years ago, I would have argued the same thing, but it's pretty clear now that the desktop is becoming increasingly irrelevant as web technologies mature. Think of it this way: In another 10 years, it won't matter what desktop platform you use because 90% of your day-to-day software will be web-based (think intranet). But most people will use Free Software desktops simply because they're the cheapest. Businesses will buy $200 disposable desktop PCs that network-boot Linux, an open clone of Java, and whatever highly-evolved form of Mozilla / Konqueror exists at that time. No more complicated deployment. No more licensing hastles. This sort of simplicity is the holy grail of both IT and business productivity. MS has a lot less to worry about Linux than open web standards. Although Linux is a good vehicle for their delivery.
Apple won't touch Photoshop or Illustrator, nor will it optimize the system PDF functions to replace Acrobat/Distiller. Digital print media is still quite firmly an Apple hardware/Adobe software market.
Adobe's just going away from video on the Mac because they can't compete with the Hollywood-pro-level tools that Apple's pushing.
Audio's next, and already the audio software developers are lashing out. Everything twitches a bit when it dies.
Heh... I don't think you've ever tried it. We *are* doing it and we've each had more Un*x experience than you've been programming at all, most likely. The first thing we saw was setuid differences (one allowing by default, the other not), for example. Sure, our programs compile for the most part but they don't *work* because of differences in distributions and their default behaviours. Compiling is only a small step towards *working*, but since you evidently know all things, you should have known that already.
At each stage the claim has been that to get anywhere, we have to change what we're doing. Each time they have been wrong.
/etc and user dot-file hierarchies. It is entirely plain-text, human-readable, and file-system based. No daemons, databases, XML, binaries, etc. If we could standardize on this, it would virtually eliminate the differences between distros and finally make it possible to develop unified GUI config interfaces and automated admin tools.
.. which is progressing nicely, but could always use some extra help / funding.
The problem with these screeds is that they don't make constructive criticisms and don't look at future options or possibilities. Yes, several things are sub-optimal with the direction OSS is heading right now. But these are solvable issues.
What do we need most today?
1.) Commercialization of all significant Open Source projects. Important projects need funding so they can hire more full-time developers. The result will be more polish and better QA, which is sorely needed. NPO's are another option for some large projects which would rather be donation-driven.. (think large corporate contributions in effort to meet common needs.. OpenOffice anyone?)
2.) The Elektra Initiative (http://elektra.sourceforge.net/) This is an ingenious key-value configuration system suitable for replacing the mess that is
3.) X.org
That's what we need today. Longer term, the desktop is going to become largely irrelevant anyhow due to web-based technologies. This is what most pundits fail to realize when discussing the future of Linux and MS. Standards-based rich-web intranets are the holy grail of business IT.
Solaris >=2 is SVR4-based...
/etc/rc?.d for backwards compatibility. After playing with it a bit, the new services manager is actually quite an improvement (CLI-based, no renaming links in a half dozen directories to change something; it also speeds boot times greatly).
Is this true, anymore? Solaris 10 has a whole new services manager that only uses
-- Microsoft is the most expensive commodity operating system and office suite vendor in the marketplace.
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
That's one of the best written rants I've read in a long time. FWIW, I think you're wrong. Firstly, distros are similar but different to the old vendors. Secondly, freedesktop is strongly pushing convergence. Thirdly, linux is 'good enough' for a great many people already. Fourth, the big software houses are either porting their software to linux or else watching the OSS alternatives slowly mature to replace them.
.c files on the install CD where I proceeded to ignore them.
Firstly, yeah, distros are remarkably similar to the different un*x vendors, but there are a few key differences. No 1. is probably that they get more of their software from the same places and so have compatability pushed down from upstream. They can introduce incompatabilities, perhaps in the name of consistancy, but every time a new upstream version comes out they become compatable again -- it is just too hard.
Secondly, freedesktop is actively addressing all of the major incompatabilities and systematically fixing them. KDE and Gnome don't work well together? They work better together than they did last year, and will work better still next year. Same for Fedora and Debian, same for fonts, X11, etc...
Thirdly, I run linux on my computer. When I go down to the local computer shop I can buy a machine sans OS without any strange looks. I can even pick up scanners and read on the back "Linux compatable", though I don't really have any assurance what that means yet -- last time it meant they'd copied the GPL source out of the linux kernel and dumped the
Linux might not be the default, but it isn't hard to be a linux user any more. You might get laughed at by the gentoo haxors for using linspire, or by the debian croud for choosing gentoo, but you'll still be able to interact with them and get stuff done.
Fourth, have you used kword lately? It is pretty damn smooth -- and many people view it as second rate software compared to openoffice! Similarly, gimp is still a PITA to use, but compare it to the last version and it is a walk in the park. What do you think the next version will be like? About photoshop 3 level? Better? kpdf is already better than acrobat reader in most regards, though not all. Macromedia is much better than the OSS offerings currently, but less so than last year (was there an OSS flash creator last year? there is now). Last year to install windows software point-and-click you bought codeweavers but now you just install the free winetools.
Now, you're claiming linux will fall apart thanks to ego. Software will change to much or something. Isn't this exactly the sort of thing that any given distro works against? Say you pick, *shrug*, Xandros. Is Xandros consistant from release to release? Why, yes it is. Does it really matter for a xandros customer that ubuntu looks different? Especially if they play nicely together, it seems a moot point to me.
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.