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.
http://www.olene.net/linux.html
Get a free iPod Nano 4GB!
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...
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
While the UNIX vendors beat eachother up over what amounted to nitpicking details, another vendor offered the same consistent kind of software experience across a broad spectrum of hardware, including laptops. I am referring, of course, to Microsoft/Intel.
Yup you could always count on that blue screen of death no matter what hardware you ran on - at least it gave you a warm fuzzy feeling inside!
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.
"Salt Lake City Airport, Dec 4, 2005" (look at the bottom of the page)
hm, slashdot editors -- for once you've repeated news from future!
This is why more people need to get involved in projects like the Linux Standard Base. If more distros would quit trying to do their own thing and work together, Linux might be able to really take off. Autopackage will help people with installation hell between distros. And hopefully, freedesktop.org's new set of UI standards will help KDE and Gnome people get along a little better too....but then again, we are talking about human beings here.
"A truly wise man realizes he knows nothing."
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
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.
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.
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
Is my hero.
Finally, someone saying what needs to be said.
What I got into a huge argument saying.
I hope that the OSS people finally listen...
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
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.
"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.
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
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.
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
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.
standardize your damn directory structures and startup scripts. Or at least come up with some sort of virtual linking scheme to provide one consistant view. "Well, *BSD puts it here, but on Linux it would be there and SYS 5 doesn't have one..."
You have managed to complain about characteristics (in bold above) that make each flavor unique; you should have grumbled about device naming conventions, too, and gone for the trifecta. You may as well complain about the variations in fruit: "well, the banana has a peel that must be removed prior to consumption, while grapes come in bunches, and don't get me started on pomegranates, etc."
The BSDs are generally do things in a similar manner. This is largely historical; it is the BSD Way(tm).
One really shouldn't just say "SYS 5". Not only is the nomenclature wrong - it should be SVR* - one should indicate which revision is under discussion, e.g. SVR3 or SVR4.
News flash: Linux is very much like SVR4. You can do some things (e.g. ps) in BSD style if you like but most practical purposes Linux is ~SVR4.
Solaris >=2 is SVR4-based, as is HP-UX. AIX (IIRC) is SVR3, but AIX administration is (or at least was) its own form of pain so the historical influence is basically a footnote.
I want to drag this out as long as possible. Bring me my protractor.
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.
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.
You missed an important point in your rant. ...
It isn't just that Linux/free BSD adherents are squabbling children. NO, NO, NO. They are squabbling adherents of a religious cult. In particular, the cult of UNIX. These people are cut from the same cloth as the old mainframe system operators. They believe that it is MORALLY WRONG for a computr system to be easy to use. Why write a GUI that lets a user choose from a scrollable list of options, when you can make them use a command line interface where they have to memorize the syntax of 25 option flags. If you make it easy to use, the commercial value of memorizing command options evaporates, and they might have to get REAL jobs. And if helpful souls corrupt your favorite open source package by creating GUI tools to configure and run it - rewrite the applicaiton to break all the GUI tools! The only reason for having a GUI on Linux at all is to seduce Windows users into trying Linux, knowing full well that to get anywhere they will HAVE to learn the CLI -bwahahahahahaha! I have been a faithful Linux devotee for 8 years, and with about every second release, my window manager changes, requiring me to relearn all the configuration settings, or the multimedia viewer I had been using gets dropped, and I have to reinstall it by hand from tarballs, or the CD burner software disappears and I have to find an alternate.
I will never stop loving or using Linux, BUT, for heavens sake guys, GET RID OF THE CLI, and STOP REINVENTING THE WHEEL!
Repeat after me - "Ease of use is all that matters", "Ease of use is all that matters", "Ease of use is all that matters","Ease of use is all that matters",
"Sic Semper Path of Least Resistance"
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.
In short, the directory structures are being taken care of.
- David A. Wheeler (see my Secure Programming HOWTO)
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
Photoshop was coded to the MacIntosh user interface, not X-windows, and functions on OSX as a side-effect of the excellent backwards-compatibility that Apple slavishly built into their kernel-swap.
No, it functions because of Carbon, the procedural API of OS X. Carbon does share similarities with the old Mac toolbox.
Perhaps this is what he was saying, but the way he says it implies OS X happily runs old OS 9 binaries due to some "slavishly" added binary compatibility cruft. It doesn't--the apps need a recompile and some code tweaking to become "Carbonized," and suddenly they're OS X apps through and through.
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.
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 :)
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...
XML doesn't give you anything that isn't already available in a text file.
Why aren't text files the best way to configure a system?
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.
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.
Microsoft/Intel was careful to guarantee them a consistent software experience across a broad selection of hardware.
It's a broad selection in brand name only. Whether it's Dell, HP, Alienware or a garage clone, it's still the same basic innards under the hood.
Linux and the BSDs run identically across a list of platforms ranging from microcontrollers to mainframes. Marcus has been around the block enough times to remember that Sun made the transition from 68K to SPARC with a brief stop in i386 land with with the old BSD-based SunOS. They did it again going from SPARC to x86 with the SVR4-based Solaris. Apple gets props for having nicely made the transition from 68K to PPC with MacOS and should probably get a couple of points for its rumored internal port of OS X to x86.
When Microsoft can release a fully-functioning version of one of its current products that runs on another platform and looks, smells and tastes like the same product on Intel, I'll agree with Marcus. Let's try hard not to remember NT on Alpha.
Perhaps none of what anyone's predicted will be Microsoft's undoing will actually be it. Maybe it will be some huge non-x86-compatible advance in harware so compelling that nobody can resist it. The race will be on to see who can have a working OS on that hardware, and I'd put my money on it being one of the Unixes.
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."
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.
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 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?
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.
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."
...who wants to use a computer has to complete a college level intense CS course? Do you drive a car? Do you have mechanical engineering and thermodyanic engineering degrees? Would it be necessary for that just to drive? Do you live and work inside someplace? Do you think it should be necessary to have an architectural design degree and at least a journeyman's level skill set in building to be able to use a home or office space?
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.
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.