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."
The 3 BSDs are much more consistent, and don't move things around on you for no reason.
Isn't the ability to customize things to your own liking the main selling point of Linux based OSes? Mainstream Linux is going to end up being someone like RedHat or SuSe no matter how much better the little homegrown distros get because only those 2 offer anywhere near the support that a company is going to require. Let distros split and evolve as much as they want, it increases the chance of major innovations being developed. When something useful comes out of one of the offshoots one of the major players will adapt it and support it.
Please do not let scientific accuracy interfere with the intended humourous/interesting/insightful value of this comment
I am missing Apple's OS X in the picture drawn in the article. Apple does things differently than other Unices but companies like Adobe and Macromedia are present here. At least on the desktop, Apple is a much bigger threat to Microsoft than any Linux or *BSD. (Apple is probably a threat to Linux on the Desktop because here applications is what counts.)
At the beginning was at.
Funny, I haven't had a single Win98 application that refused to run on WinXP properly. Unless you are talking about in the reverse WinXP apps not running on Win98, anything designed for Linux 2.6 specifically will not run on 2.4 or 2.2 either. Learn to see faults in your own following and you can see the light to fix them. Constantly trying to point the finger outside the circle to your enemy does nothing but hurt you.
www.atacomm.com - The Leader in VoIP Product Distributi
I stopped reading when Marcus said he could "just compile" across many different unixes in 1985. I think that's way off-base. I've been building stuff on different unixes since 1979, and there have always been these kinds of problems. With the possible exception of AIX, things are not especially any worse than they were then. The good news is how many of the proprietary unixes are "mostly dead".
Today, if you want a consistent software experience, you have little choice but to go with Windows
Which incanation of Windows is he talking about. I would venture to say windows xp and 2000 are about as different as Redhat and Debian.
Guys, let's face the facts: Windows is a monopoly because short-sighted open source geeks and UNIX weenies were too busy squabbling over whether RPM was better than build-from-source or Gnome versus KDE, etc, ad nauseam.
Give me a break. Windows is a "monopoly" because of many shrewd (and questionably legal) business tactics. They were first to market with a usable GUI on reasonably priced equipment, and were successfully able to put these users on the upgrade treadmill. There aren't many "open source geeks and UNIX weenies" who actually produce code arguing about the minituae of each dialect and variant of Unix. This can be easily seen in the fact that most high quality open source apps run on each of those variants, without too much fanfare.
So the battle in the free UNIX space is entirely over command line options, system administration paradigms, installation packaging, and 3D GUI features. I've got news for you: Real Programmers Don't Care about that garbage.
I agree. So what is your point? If "Real Programmers" don't care about this "garbage", how is this hurting UNIX, and helping MS?
The open source movement is not going to hurt Microsoft to any significant degree. But it'll put Sun out of business. Good move, guys!
Actually, this is a good move. If Sun is unwilling to recognize their current situation, they deserve to go out of business. Instead of wasting time trying to create and sell something that can easily be had for little or no cost, they could invest those resources differentiating themselves into something that can reap greater rewards.
Coporate leadership would be biased by greed. Standards are important but, the chaotic state things are in now breads innovation. Life couldn't evolve without genetic variation. Unix has evloved in giant leaps due to its competing formats.
UNIX/Linux Consulting
"The only solution I can see is for more corporate involvement , sponsorship, and ultimately leadership"
Which is unlikely to happen as long as replacing "s" with "$" is considered to be the height of coolness in a community. Unlikely to be offered, or accepted.
It's kinda silly, when you think about it, to think that someday your software might one day dominate in a world that is more or less populated with corporations (or at least people trying to make money...after all, code doesn't feed kids) when your entire philosophy is anti-commercial and anti-corporate. Seems like if you win you still lose.
Unless you believe that someday all money-making corporations with disappear...and in the real world that ends up looking more like Soviet Russia than Star Trek.
Linux developers don't compete with MS, they hack their programs so that they are better in their own eyes. That Ray quote comes to mind: Linux will "do what it do, baby."
Linux doesn't ever "lose" because there is no contest taking place.
After reading tfa I simply have to say this guy really gets it. And I've been saying this for years, I'll promote linux because I'd rather try than give up, but I feel it's a losing battle because of fragmentation.
There's strength in 'polymorphy', true, but *real* strength is in unity, not caring so much about you and your contribution to the grand plan but about the long term vision and it's high time - if not too late - that all these people pulling the oss wagon in 15 different directions (low estimate) start pulling it in the same direction or we'll be using windows 2009 one day... (or at least those who make a living programming).
It's all fun and games to debate one distro or another until you have a family to feed, and binary compatibility would go a long long way towards getting commercial vendors on board.
Oh, and for the real die hards: I'm a programmer, and if the price is right I don't give a damn about the source, as long as it works as advertised. If the source is available so much the better, but if all that happened is that if a corp goes out of business or abandons a piece of code that they'd open source it that would be more than enough for me.
I'd rather download a binary driver than the kernel sources to get one to compile for my kernel version, as if that should matter. Especially considering that I'm on dialup here.
MP3 Search Engine
First switch them to Mozilla Firefox and Thunderbird, plus Openoffice.org, X-Chat, Gaim, etc. After you get that, replacing the OS is easier.
Microsoft is consistant only because one company rules over every detail.
Each distribution is self consistant. But each distribution offers strengths and weaknesses compared to the others.
Don't compare Windows to Linux. Compare Windows to Red Hat, or compare Windows to Novell/SUSE
The whole point of having different distributions is that one likes Gnome, One likes KDE, one likes Security, One likes to compile everything...
You don't get that kind of choice with windows, You take what Bill gives you and you like it.
or not.
If you use your computer for web browsing, e-mail and the occasional small game or odd letter, Linux is just fine. If he has to actually maintain that person's PC anyway, it is easier to do that with Linux than with Windows XP Home or something like that.
I care to disagree with the article and your viewpoint on the basis of evolution and bilogical diversity theories applied to computing.
On the long term, the more diverse an environment is, the more like it is to survive. It doesn't mean that you cannot provide interactivity between two different systems on the level of common protocols and standards, however. That is the most important thing people tend to forget when people are advocating homogenous environments.
If there would be 15 closed source proprietare environments we would be in trouble, but since interoperability can be achieved since everything is open this isn't really a problem. Nature worked this out quite amazingly for us already, i would place my bets there - i think it's a pretty big scientific proof.
Nothing is wrong with different setups/designs because evolution leeds heterogenity into homogenity in some ideas while opening up new frontiers for testing. This means heterogenity actually makes things better on the long term. Think of it as a large try,retry,fail process until you reach one that works. That will survive.
It takes a man to suffer ignorance and smile
Be yourself no matter what they say
Yeah. Cause single points of failure and non-human readable configs are such a very good idea.
Cypherpunks: Civil Liberty Through Complex Mathematics. Those who live by the sword die by the arrow.
From the article:
So the battle in the free UNIX space is entirely over command line options, system administration paradigms, installation packaging, and 3D GUI features. I've got news for you: Real Programmers Don't Care about that garbage.
Maybe real programmers don't, but real users and real sysadmins do care. In a monoculture, things just don't improve. I far prefer that RPM and apt-get both exist, than for only RPM to exist.
The other (all too common) trap this article falls into is talking about "the Open Source movement" as if it is a single consciousness:
"Has it managed to completely escape the attention of the "open source" movement that Adobe, Macromedia, Corel, and so forth have blithely continued to remain virtually Windows-only while waiting for the dust to settle?"
"The Open Source movement" doesn't have an opinion. The "movement" consists of thousands of people, each of whom may have one opinion, a different opinion, or no opinion whatsovever. There will be those who worry every day about what Macromedia is doing with Linux, and there will be those who don't care in the slightest what Macromedia, Corel or Adobe do or do not do.
Meanwhile, whether a particular Linux distribution wins in the end, or if Windows wins in the end, all this competition has been nothing but good news for consumers. The distros constantly out-do each other.
Having been exposed to Windows since 1.0, it's clear to me that many of the improvements that make it tolerable today (memory protection, pre-emptive multitasking, configuration changes without reboots, etc.) simply would not have been developed without that competition from Linux.
I forgot which linux distro it was, but it was several years ago. I had the choice of two install options
1. Developers
2. Administrators
It irked me a bit, seeing is there was no "average non-developer joe" configuration preset available. I guess the "administrator" is to administrate "developers". What do the "developers" develop for? They must develop for administators, or other developers. Yet "user" is nonexistant.
Here is a list: Fedora Core, SuSE, Gentoo, Debian, Mandrake. There are 5 distros in that list. Roll some dice to pick one. If you get a 6, roll the dice again.
Any of these will do. Really. You can do a multi-variable analysis to help you optimize your selection better. But the more fitness you demand, the more time you will waste.
Just pick one of the leading distros (which means more people will have come into the problems before you, and that they probably have been fixed by now) and stick with it. Problem solved.
I would really hate to go shopping with the author of the article.
Now where is my consulting fee?
That said, as much as I like the concept of Linux, I simply will not try it any longer until I hear that a number of problems have been solved.
A) Having to recompile kernels/worrying that apps will be broken by upgrading that kernel. For that matter, I don't want to have to compile anything, ever. Just to make this clear, never. Come up with either something akin to Windows where I click on a standard installer, or make it like Mac where I just drag and drop the folder.
B) Any time I'm forced to drop to a command line, you as a developer have failed. Back 10 years ago, this may have been acceptable. In this day and age, it isn't. Furthermore, while once in a blue moon I may change a text file in Windows, in Linux it's a constant occurence. Again, you have failed.
C) MAN pages do not cut it. Neither does a message board where half the time I'll be called a clueless n00b, 25% of the time I'll be told to use a different distro, and the other 25% of the time I'll get genuinely helpful people giving me contradictory answers. If I'm expected to jump to an alien computing environment you'd best make sure your documentation is up to snuff. Linux sucks in this regard.
I'm an advanced user who's in favor of open source, but the bizarre, arcane, and technical details I have to jump through to achieve the same things that are comparatively simple in Mac or Windows may Linux a deal breaker. You will never, ever, become successful on the desktop until idiocy like this is exorcised from the OS.
Can someone comment on why distro's seemingly *have* to have a different filesystem hierarchy? Typically when you distinguish yourself from a competitor you add value. I don't see the value here to anyone other than the distro vendor, in that given enough scripts and whatnot, if you wanted to move to a competitor it could be more of a PITA than it's worth to switch.
Further, I've not heard any arguments to why vendors cannot agree on a standard FS (not to say there aren't any - I just don't know of 'em)? Perhaps use symlinks to keep the old path functional and implement the new path. Am I just nieve?
From TFA: Today, if you want a consistent software experience, you have little choice but to go with Windows
Comparing Windows, which is one operating system, to the dozens of Linux distributions as a whole is stupid. Linux, the kernel, is consistent throughout all the distributions. In the same vein, KDE is consistent throughout distributions and so is Apache and other projects. What changes is how each distribution, which can rightfully be judged as its own OS, deals with locations and methods for specific tasks.
You should expect to see differences between Linux distributions, because they are different Operating Systems. While they share a kernel and various application suites, it's important to stop confusing them with "Linux" which is a kernel and not an OS. We've all heard it before, but someone needs to remind Ranum that Linux is just the kernel.
Windows, on the other hand, is equivalent to one distro, let's say for example RedHat. If you want to compare apples and apples as the old saying goes, you'd have to compare RedHat (or any other distro) and Windows, not "Windows and *nix" which is just stupid.
I won't disagree that it would be great for Linux distros to get together and standardize a file system and heirarchy, but I DO disagree completely with the line of reasoning that subsequently concludes that the only consistent computing is on Windows. That's like saying "If you want consistency you have to drive a Ford, everyone else does things differently".
-Jay
No, He's not.
Linux-distributions are like Dell, HP, IBM, Sony, etc. They provide the same product that is "pretty much" the same, but there is still enough competition between them so that no vendor sits on their laurels.
Today, with different sockets, different RAMs, PCI, API, etc. computers are no longer compatible with everything. Just like you can't put an Athlon into an Intel-socket, you can't use a rpm on debian.
And when you look at the whole x86-market, these differences haven't hurt the market at all.
While I agree that the real incompatibilities between Unices have hurt the whole Unix market, I disagree that different distros do the same to the Linux market because there are no real incompatibilities (any program runs anywhere, it's just a matter of choosing .debs or .rpms which usually isn't necessery anyway because the stuff comes with the distro).
Oh, and Sun/Solaris isn't the "last man standing", Linux is.
So you have to configure and install Kerberos.
You have to configure and install LDAP.
You have to configure and install PAM.
You have to configure and install PAM_LDAP and NSS_LDAP.
All of these are different for each distribution.
OpenLDAP will not scale.
I have done my homework on this, and that's why I mentioned piecemeal bandaid solution, which is what you have there. Put it in one package, tune it so that it scales, integrate these things into the desktop, and set it so you can choose your kerberos realm from GDM or KDM, without having to edit config files, and then come talk to me. Until then, it's a kludge.
You are dead on when you note that forking is a big problem. Version control is a big problem anywhere you don't actually manage it. And we are unable to manage it because we let it lose and tell people "go forth be fruitful and multiply." Which is exactly what they did. And if you look at Distro Watch or LWN today there are 450+ distros out there, probably 70% of them have *someone* working on. And that is the deeper problem. We are spread too thin and we are too tolerant of do-your-own-thing-ism. Dude, I got this BSD kernel to boot on my clock radio and it only took 1200 hrs to do it. Schweeeeet! At the same time SUN, IBM, RH and others are struggling to corral what resources they have and attract enough attention and funding from the suits to make it all hold together. The fact is we really don't need more than 2 dozen at the absolute upper limit, of distros. And of those ~24 maybe half would account for 80% of the total use and utility in the field. That means that 12 core code bases would account for 4/5ths of the total expected penetration of Linux today. And while these are just guesses I think I'm being wildly broadminded. I think in practice the actual usable numbers are half as diverse as that.
Now companies build entirely useful OS's all the time: AIX, Solaris, Windows, z/OS and so on. All built by one company with one ethic and one model and one hand on the change management lever. And with only a few thousand people at most. But the problem is that all corporate entities like those very same IBM, SUN. etc companies see Linux and the open model as a way to short circuit their OWN development dollars and use what other people have graciously done. They are willing to take on the noise and clutter and forking because they don't care or think they don't care. What they care about is attempting to cut their own costs out of the development cycle. Building an OS is very expensive as IBM can attest. But they hope that the benefits that accrue to them by spending all that money on products like AIX 5L are worth it because it allows them to differentiate themselves and sell their hardware. They see Linux as a second tier to sell into smaller corporate accounts riding piggyback on cheaper hardware.
But the key problem is that they see it as being 'found work, found benefit'. And the fact that there are 3,000 people out there doing essentially the same work is of absolutely no importance to them. Their interests are strictly parochial. And if you have a bunch of different companies each with their own stovepipes then not only do you promote forking you actually hamper your own customers. We used to thing that hippy-code was a good thing. If I wanted to run it my way and I was the only person on earth who wanted to do that - here's the code, dude, have at it. Multiply that by a million and you don't have freedom, you have anarchy.
You act as if companies will be switching from RedHat to Debian to Slack, back to Redhat. As others have said, within the same distro, things are more or less consistant. They are not any worse then jumping from Win3.11 to 95 to XP. Just as those have gotten easier, so has Redhat, or Mandrake.
I'm not sure the differences between the distros are somethign the end user needs to worry much about anyway. Sticking with your car analogy, I'd say its more like moving from Chevy to Honda and having to figure out how the A/C and windshield wipers work.
Perhaps not all Linux Users/Developers WANT everyone to use Linux? Perhaps some just want the system perfectly fitted for THEIR needs? You (as in you Linux Evangelists) always assume every Linux User wants all people to use Linux.
Linux is not Windows
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. Nobody knows for sure what will work best, but the best bet is what worked already. What we have is still growing by leaps and bounds, just as it always has done.
Imagine a world in which Free Software precisely as it is today was the norm. Imagine Microsoft trying to nose into it. BSOD? DLL wars? Viruses, worms, spyware, adware, pop-ups, DRM, "no-print" flags? Downloading drivers? Re-booting with every hiccup and adjustment, and re-installing every few months as the system decays? Forced upgrades that break what you had? Ever-increasing license fees for ever decreasing value?
All such diatribes have one thing in common. They are about what it takes to get two groups to embrace Free Software: proprietary software vendors, and know-nothing bozos. The former will never embrace Free Software because, frankly, they have little to offer it, and less all the time. The latter will use what they're given and like it, as they always have. Everybody else already sees the advantage, and has switched or is planning to switch.
As Marcus says, the only reason not to is ego.
I humbly sumit that both you and Marcus have tunnel vision. If the goal of
the Linux community were to destroy Microsoft, then perhaps you could be
correct. There are certainly some who use open source as a way of fighting
against MS, but there are others who are interested in open source for
idealistic reasons, for pragmatic reasons (I, for example, prefer open source
tools because I find them easier to work with), and for business reasons.
I want Linux to succeed because it is my preferred environment to use. If
Microsoft takes a beating as a result, I won't complain about it, but defeating
Microsoft (whatever that means) certainly isn't my goal.
*sigh* back to work...
> Windows may splutter and be prone to accidents, but you just drive it.
While I enthusiastically agree that Linux has lots of room to improve in ease of use and troublefree administration,
I strongly reject the notion that Windows is far ahead in this regard. All things being equal, Windows is MUCH
harder to use for day-to-day work than Linux. Common tasks like marking up photos or chatting on AIM require finding
and installing lots of third-party software. All of these have a long, scary EULA, most have popups galore and take up a
portion of my main view with intrusive ads. Depending on where I get them from, I'm as liable as not to get a
virus/trojan just trying to get a basic level of minimum functionality out of my system. If I want to install a new
device, I have to get a driver that's specific to the vendor of the product I have; no generic usb-storage, for
instance, but a separate driver for my lexar, sandisk, and maxtor usb storage devices, all with their own bugs,
incompatibilities, and adware bundles.
And oh, forget about trying to play downloaded video files! Granted, I haven't used Windows as my main system
for several years, but when I get an AVI, MOV, RM, or whatever video file in Linux, I just play it with mplayer,
don't care what codec, it just works. I have no clue how to get a video player in Windows to have the same ease
of use, and not for lack of trying.
I won't even address in detail the disconnect of people who want to "just drive" their computers being faced with
an hour a day of defragmenting, temporary internet file purging, virus defs updating and scanning, malware defs
updating and scanning, etc etc ad nauseum, except to say, God bless apt-get dist-upgrade.
Now, granted, I started this spiel by saying "All things being equal", and all things most certainly are not equal.
Most people get Windows pre-installed, so they are spared the horror of Windows drivers. And, many more people
already have experience dealing with the Windows shortcomings, and less with the Linux shortcomings. But,
the notion that somehow Windows is a model for self-maintainence and ease of administration is laughably false.
Now Mac OS X, on the other hand...
25% Funny, 25% Insightful, 25% Informative, 25% Troll
But the problem he raises is with autoconf. One can argue that setting up autoconf could be simplified, but it's hard to argue that it doesn't handle different directory structures pretty well, and one certainly can't argue that it runs *slowly*.
I'd also argue that it's easier to port from Unix to Windows than vice versa. Many unix libraries have ports for windows (pthreads, pcap, gtk, and whatnot). However, your standard windows libraries generally do not have unix ports.
If a tree falls in the forest and no engineer observes it, does it have a drag coefficient?
This article is pretty off-base on several accounts, primarily because the author doesn't seem to understand you can't simply compare Microsoft to the Open Source community. They work in fundamentally different ways.
It's more appropriate to consider the open source movement to be one enormous research and development laboratory that is constantly tinkering, improving, and designing. From it new products emerge, and experiments that sound interesting but don't work. Because there are no restrictions anyone with an idea can participate, and ideas are forced to compete on their own merit. That process strengthens Linux-based operating systems as a whole because distros can choose to include/implement the ideas that emerge from the fray as winners.
Do you compare a product (Windows XP) to a process (Linux open source development)? No. You compare it to another product (Red Hat Enterprise, for example). As CTO of some company, you're not going to install Gentoo, ArcLinux, Slackware, or Mepis. You're going to install a professionally supported, stable distribution backed by a company you trust: Novell/SUSE, Red Hat, or maybe (hopefully) Xandros. Behind the scenes it is the responsibility of those distros to select from the open source lab which features/products they want to meld into their distros.
As for Adobe and friends not porting their software to Linux, the fact that there are competing distros out there does not explain their reluctance; lack of market share does. When Adobe thought it important and worthwhile to port their software, they did: Acrobat Reader 5. When they determine enough customers would buy their product for the Linux platform to make it worthwhile to code that software, they will do so, and they will navigate the architectural-dependency problems the best way they can, because it will be financially worthwhile to do so. Money talks.
Next, is open source software forcing Sun out of business? No, but it has forced Sun to reduce its unweildy profit margins and sell products at prices the market will bear. For that matter, it's done the same to Microsoft. Without Linux and alternatives it's unlikely we'd have seen Microsoft's new Windows XP Light edition now being sold in Asia, where Linux has made serious inroads. It's also forced Sun to open up some of their code, because the market has demanded it. Linux won't put Sun out of business; reluctance to follow the market will. There's still a niche for Sun - enterprise hardware and support that no Linux distro is able to deliver. Sun integrates systems in a way Red Hat or Novell can't.
Finally, as for "real programmers don't care" about interfaces and paradigms, I think they do. The LSB movement will tighten up disparities between distros soon enough, but projects will still have to compete on their own merits. Linux isn't dividing and conquering anything. It's continually reinventing itself based on new information, new equipment, new paradigms, and new technology. That's a process that benefits everybody and introduces enough competition into the marketplace to force everyone else to innovate too. Microsoft IE now with tabs and popup blockers? Win XP light? MS Word with sidebar formatting panel? Network transparency and remote desktop access? The evidence speaks for itself.
The author is way off base.
If this were Usenet, I'd killfile the lot of you.
They rely too much on context, and I've run across more than one case of a misformatted text config file causing the parser to bork out. XML, on the other hand, removes much of the problems with context and position sensitivity you run into with pure text config files.
I do feel that XML allows for a file to bloat up rather badly, but compression on that sort of plain text file is so good these days that I don't really see any point in complaining about it.
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.
I think with the recent spat of articles, people are beginning to see that desktop Linux is never going to make a dent on Microsoft's marketshare. Not with the way things are currently going.
File extensions: Linux uses file extensions, in fact, it uses many of the same file extensions as windows eg. txt, html, jpg, mpg, whatever.
Registry versus Text Config files. So you think editing text config files is confusing? Ok why don't you go ahead and open up regedit and screw around with some reg keys. Oh you messed something up? I'm not surprised. What's that you say, you used the GUI to configure your apps? Gee, that's funny, so did I. In the event that I do need to manually configure something (because say something screwed up and now my system won't boot), at least I have the option and at least the text config file will usually have comments explaining what the various options are, I'm yet to see an comments explaining what anything is in the Windows Registry.
Short/weird meaningless names. Ok try this one, open up Task Manager and click the Processes tab. Now tell me what ANY of the things you see are. svchost, regsvc, smss? Right, thought so... Ok how about opening up c:\windows\system32.. Yeah, lots of intuitive, coherent naming conventions there.
Ugly UI. My gnome desktop has a nice, slick OSX-like theme (I'd take a screenshot but let's face it, I'm lazy). WinXP has the Giant Cartoony Bubble Blue Theme From Hell. 'Nuff said.
Batch files vs commands. Last time I checked you could do most anything from the command line OR the gui in Linux. Try installing software or surfing the internet from the command line in windows.
Generic Print Driver. Because hardware vendors refusing to support Linux is, Linux's fault... And coming up with an acceptable alternative to proprietary windows drivers is, a bad thing.. uh huh...
Buy a penguin. You have a problem with a penguin as a mascot? I've got one word for you: Clippy.
Acronyms. Because only Linux el33tists use acronyms. You'd never hear a sensible Windows guy speak of things like: IIS, ASP, MFC, VB, IE, or NTFS. Oh, wait...
Communism. While you're at it, why not just call me Un-American for not supporting Microsoft, Mr. Limbaugh? So remember kids, Not Following The Mainstream == EVIL!!
So to the author of the animation, seriously, grow up. You're obviously someone who tried to install Slackware or some similar non-user friendly distro, got confused and gave up. Therefore, Windows == "best os" because you == "clueless user". Ok so that's a little harsh. But here's a scenario for you, I just built a box with the intention of dual-booting. Fedora installed without a hitch. Only thing it needed were drivers for my wireless card and video card (surprise you need those in Windows too). Put in Windows CD and reboot. The installer starts, then fails immediately. I still have no idea why but at this point, who cares? Linux does everything I need it to. So the moral of the story is, use what's best for you and stop bashing some other os when your os has all the same or equivalant fallacies that you're attempting to poke fun at.
And yet, despite the instability of Windows systems, developing for them was relatively stable compared to the UNIX world. Sure, your app might crash, but at least you'll be able to develop it in a month and maintain it for years to come. Look at, say, Photoshop. Photoshop is still a Win32 app and never needed a rewrite as Windows went through all its incarnations--even surviving an entire kernel change.
.NET. Good luck with that! Photoshop is never going to be rewritten in "managed code."
You can even run Windows applications from the 98-era--which used a completely differnet kernel based on DOS--on XP. It's all about the stable API.
Now they're trying hard to replace it with
Actually, I think he DOES get it. Yes, he might be an MS apologist - but the fact is, not a single OSS platform is as easy to use as either Windows or MacOS at the desktop level.
I've been running FreeBSD/NetBSD routers and file servers since 1996, and I consider myself to be fairly knowledgeable about them, but even I have to ask for help setting things up. For example, setting up network services - configuring bind the first time is a bear, and dhcpd isn't much better. In Windows, you open a control panel, click a few things, type a few values, and start/stop the services.
For a desktop user, who is expected to be even less knowledgeable, the situation is even worse. There are at least 3 different methods for handling clipboards under X - if you deviate from the standard install of any desktop package, you immediately start noticing things like this. Try running a few gtk apps in KDE (or vice versa) and see what happens. (it usually works, but sometimes it fails in spectacular ways)
Then there is package management, which this article covers in depth. RPM, apt-get, or (in my case) the ports tree and portupgrade/pkgtools are no match for sticking the damn CD-ROM in the drive, and waiting a few seconds for an installer to pop up, and clicking on the "Yes, I want to sell my soul" button.
Frankly, until OSS operating systems make installing and configuring software so unbelievably braindead easy, Linux will never "cut it" on the desktop. I don't care how pretty the desktop manager is, or how featureful the API is - the fact is, until the LSB gets to the point where users don't even need to know what a command prompt is - it isn't going to leave the server room for most sites.
That said, for the experienced user, OSS operating systems (FreeBSD being my favorite) will continue to make headway in the IT realm> I use FreeBSD 4.11 exclusively on my file/multimedia server and my gateway router/firewall. I consider myself to be fairly experienced, to the point where I have handcrafted a FreeBSD install for use on an Internet appliance with a 256MB of flash, and 32MB of RAM - complete with X.
That said, I won't inflict Linux/FreeBSD on my users until I see some workable standards, and a serious increase in ease of use. And, like the the essayist, I don't see the situation ever improving. It's too easy to make yet another fork rather than hammer out differences, and make a better program. For some, its choice - for others, its confusion.
Until there is a balance between the two, Linux will remain the OS for geeks, by geeks - and limited to geeks.
I think you are a suffering from a case of not seeing the forest for the trees. The proprietary UNIX vendors cratered for a few simple reasons. Nitpicking over their GUI standards weren't much of it:
A. Their business model demanded steeply inflated profit margins, leading to steeply inflated hardware and software costs. As soon as Microsoft could do most of the same things at a fraction of the price they were partially doomed. As soon as Linux could do ALL of the same things at even a smaller fraction of the price they were completely doomed. Proprietary UNIX had its heyday because people had to pay them buckets of money for there stuff because there was no other way, not true anymore.
B. The vast majority of the for profit computer hardware and software business, is completely depdendent on high volume and economy of scale. The fragmentation that killed the proprietary UNIX vendors was steep R&D costs for relatively small and deeply fragmented customer base. Gates figured out a long time ago the cost of developing software is fairly constant. The more copies of software you sell the less it costs and the more money you make. Volume is king in most software development. The proprieatary UNIX also couldn't compete in developing things like their proprietary CPU's because with each new generation CPU development get ever more expensive to develop and the didn't have the volume to cover the cost. IBM with their deep pockets being an obvious exception.
C. Fragmentation in standards did lead to fragmentation in application development. Software developers were almost universally forced to either pick the market leader(Windows) and pander to them, or waste fairly extensive resources trying to develop on multiple platforms, especially the QA resources to test on all of them.
Microsoft wins hands down on attracting software developers because they have the biggest market and they do for the most part keep binary applications running on their platforms for nearly ever.
Its a simple proven fact of the life the thing that drains application developers of their enthusiasm for Linux the most are:
- There is no GUI standard. You either pick one and code to it and blow off all the potential customers who want to use another, or try to code to multiple standard which no one does, or users are forced to CONSTANTLY switch gears between GUI look and feel. That really hacks off users. OSX wins hands with users and developers because everything works predictably and the same. OSX wins with developers because there are finite number of ways to develop things. There are a few to many generations of frameworks to choose from but that is mostly sue to supporting legacy apps.
- There is no decent audio standard if you are developing audio apps. Between OSS, ALSA, esd, arts, gstreamer and bad mixer implementations(though these are better in newer GNOME and KDE) its simply a royal pain to develop and audio app on Linux and hope for it to run right on every machine.
@de_machina
After reading the article, I got pretty damned depressed and then I realized that it was partly the presentation (visual impact) and the experience that this guy seems to have over people like me.
Fortunately, I read a few responses on this topic and it restored my morale by reminding me that amazing growth, maturity and big-business support is simply happening and nothing this guy said makes it go away adding to the fact that it makes his arguments somewhat hollow in light of what he has suggested.
And here's something else:
For business systems, no one in his right mind should care if their systems can run "anything" so long as it runs what they need to do business and will likely see it in the future. So depending on your business, Linux may not, at present, be a good fit but that doesn't mean it's unsuitable for anyone. Frankly, I pray for the day we can put Linux on the desktops (a coporate decision) because it will make our systems more of a tool than a toy which is exactly what Windows + add-ons and personalizations invariably end up. (Yes, I know you can lock'm down, but when you do that, your users hate you because they know YOU locked it down.)
In any case, things are shifting and a lot of big players are interested in making Linux serve the purpose and these include foreign nations, big businesses and local governments. It's happening and I'm not hearing a lot about failure in these areas yet. (The only failures I have heard of so far are from Microsoft offering a sweet deal NOT to change rather than having someone change and then go back to Windows... anyone have any such stories?)
My prediction: If Linux in business applications get useful enough, then we will see that various "flavors" mean nothing -- businesses will have one or a few guys making the "desktop load" and that is the image everyone will be using. Forget about "flavor" problems -- each business will make their own anyway -- as if we don't already do that with Windows to begin with?
Linux could do a similar trick. Linus owns the trademark and he, (actually his designee) would forbid you from using the trademarked name "Linux" unless your stuff passes the test suite and meets all the commonality required for cross-distribution compatiblity. (Hopefully without exhorting huge sums of money like the Open Group does with UNIX licensees).
This would twist all the necessary arms at the major distributions to use the same file layout, same (or at least compatible) packages, glibc, etc.
Heard it all before. It's so boring it's hard to summon the effort to argue with it, but here goes.
Firstly, unlike the UNIX vendors and Microsoft, open source software isn't a company, so the words "succeed", "fail" and "compete" don't have the meanings the author thinks they do in this context. The author is comparing open source development to the UNIX wars, but the UNIX wars were a winner-takes all battle between COMPANIES, many of which went out of business. Open source isn't.
The fact that a bunch of programmers (or wannabees) in one place are arguing about whether there should be 3D widgets doesn't mean that all of linux development grinds to a halt. This is a common misconception. Certainly there are arguments and turf wars, and GUIs can be particularly contentious, but the bickering you see in forums is just that: bickering in forums. The fact that people like to argue about KDE and GNOME on Slashdot hasn't prevented both of them from steadily improving. Since there is no requirement to continuously make money and since the code is GPLd so it can't just disappear, that steady development will continue.
It's very true that there is much fragmentation, and many different flavours, and that this is all a bit bewildering. I even agree that this is a downside of open source, but I have yet to see a single shred of evidence that this flaw is fatal, and it often isn't even a flaw at all. For example, the author whinges about the differences in installation packaging. Personally, I think the fact that package management is considered to be a defining feature of a distribution, and that people are still actively coming up with new ways to solve the problem is absolutely excellent. None of the current solutions are perfect, but they are getting better. Having wrestled with Windows Installer, it is a subject dear to my heart, and it is one that Microsoft most certainly haven't come close to solving. Why should we stick with one botched solution just so we can "compete" against Microsoft. If there is a market for shitty installers, they're welcome to it.
For that matter, why are we supposed to give a shit if we put Sun out of business? I think that snarky comment more than any other belies the true motivation behind this screed. I think it goes as follows:
Boo-hoo. Personally, I disagree entirely with his contention that with microsoft are going to somehow magically make Linux disappear because he's analysing it as if it were some 1980s UNIX vender called "LinuxCorp". Regardless of that, though, it isn't Linux's job to provide what he wants which is to rewind history, bash some heads together and have UNIX beat windows. That simply isn't what Linux is about.
"The Milliard Gargantubrain? A mere abacus - mention it not."
Having a dot probably hasn't gone away because it's just easier. You don't need any special tools (new commands) to use it. Also, I think it is best to do things simply whereever doing them in a more complicated fashion doesn't yield any benefits. It ensures that only the parts of the program that need to be complicated will be difficult to understand and/or maintain. On the other hand, the Unix permission model is pathetic, and it would be nice to see a move to ACLs, if not capabilities.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
You need to get over the fact that I have yet to find a BETTER way to configure a system than using flat text files.
The fact of the matter is, unless I can grep, diff, rcs, awk, etc. the configuration of my system it might as well not be there. Do you know how useful it is to keep configuration files in RCS and be able to view a comparison of any arbitrary version with the current or any other version? It's stupifyingly powerful.
Idiot.
Economists have this concept called friction. Basically, it's anything that gets in the way of exchanging goods and services, but the same general idea applies to information.
Email imposes less friction than snail mail.. you don't have to put the letter into the envelope, put a stamp on it, take it out to the mailbox, wait for the postman to come, etc, etc. Open Source imposes less friction than closed source.. you don't have to get involved with lawyers, licensing agreements, and all that sort of thing.
Today's Linux installations still have their share of friction. That doesn't make them evil or hopelessly flawed, but it does limit the rate at which people adopt them.
Individually, the sources of friction in Linux tend to be fairly small. Of course, so is a strand of hair. Put a whole bunch of strands together and the phrase 'wearing a hair shirt' starts to be relevant. Every inconsistency between tools that are otherwise similar (do I need 'make', 'gmake', or 'bmake' to compile this program.. oh, and what version?) is just one more source of friction that limits the spead of OSS.
Now.. I used to be a machinist, so I am deeply familiar with physical devices that are still in the process of being built. We start with a rough-cutting process where you remove 99% of the unwanted material quickly and efficiently, and get something that looks pretty much like the finished piece at a casual glance. But the entire thing is coated with burrs.. the machined surfaces are ridged like tiny files and the edges are miniature saws. That's why we go back and do a second, slow and gentle cut to take off that last tenth of a millimeter. And if you happen to be doing precision work, there are lapping, polishing, and wearing-in phases.. each of which takes longer than the one before.. which can make the phrase 'mirror smooth' seem very unimpressive indeed.
My point is that I see Linux at the 99% point. That's good, but it doesn't mean "we're almost there." It means we have enough big things out of the way that now it's important to spend a whole lot of time and effort getting that last tedious-and-unexciting 1% right.
The things that stand in our way are the "it's good enough" mindset, and the tendency for developers to make up their own standards as they go. Almost all command-line utilities accept '-x' options.. but not all of them. We still have things like 'dd if=some-file of=target'. Some commands use '-x argument' while others use '-xargument'. Some allow option stacking, like 'command -xyz', while others require 'command -x -y -z'. And then there are the '--extended' options.
And that's only the command line. Would you be prepared to bet $100 that all your manpages are in perfect synch with the actual binaries? Can you find the default httpd.conf file under Slackware, Debian, RedHat, FreeBSD and NetBSD? And you'll find similar kinds of roughness all the way up to the desktop.
None of these problems are huge, and none of them are particularly difficult to solve individually. Cleaning them all up would be a huge effort, though, especially when you think about having to polish all the scripts and utilities that rely on the currently-1%-rough standards.
The big question is whether anyone will have the determination to do all the tedious, unrewarding work necessary to bring Linux/OSS up to the next plateau of reduced friction. There's no technical barrier in the way, just a huge gumption barrier.
But I'll make this prediction: If someone does create their own low-friction distro, and the conventions they choose become the new standard, in five years the people who are currently saying Linux/OSS is good enough right now will point back and say what a mess the 'old ways' were.