Windows Monoculture Myopia Revisited
round stic writes "eWeek magazine has an interesting look at the effects of the Windows monoculture on IT budgets, even as everyone agrees on the severity of the inherent security risks. The article contains interviews with Dan Geer and others who warned about the risks of the Windows monopoly three years ago. The article coincides with a piece in the Observer that suggests Vista is the end of the Microsoft monolith because of how complex the operating system has become."
From the article:
Why do people keep perpetuating this myth? It should be widely known by now that all the important Linux developers get paid by their respective employers to work on the kernel. That's possibly the most significant sign of widespread acceptance of the open-source development model -- that companies such as IBM would pay their own employees to do work on a public project that is not exclusively to their own benefit.
In the same sentence, the author managed to confuse "richest" with "smartest" as well. I'm not very impressed with this article.
I know, RTFA is a strange concept on /., but this time around it's really needed.
Why? Because the article is not about the downfall of MS as the headline seems to suggest, but about the way complex software is build. It suggest that building big, monolithic applications has reached an end as Vista shows that even a huge company like MS can't really write complex software in this way anymore.
Now agree or disagree with this, but please spare us the "OMG MS will never die" comments.
With new virtualization technologies coming through, I think it's about time for Microsoft to scrap backward compatability being built directly into Windows. It just leaves so many holes unplugged. Start Blackcomb with a clean slate, include a Win32 sandbox environment, and be done with it.
I think that for the next release of Windows, they should just stop trying to support old hardware and software. Just write a small, compact kernel that is secure, and have turn everything else into independent modules that can be easily switched out, similar to Linux and Unix. If you don't like your filesystem, change it. If you don't want IE, take it out and put in Firefox.
... they would make their lives a lot easier. Plus, without all of the old legacy code in there it would probably be more secure. And maybe for that version we could have WinFS.
I think the UI is fine and they should keep it fairly consistent. But if they'd just lose having to support things that ran on 95, 98, 2000, ME,
And dump the registry, that was a really stupid idea.
But I think this could work. Most new copies of the OS are sold on computers built by Dell and other pc makers so they can control what goes in them. Hardware could be certified to work on the new version. Fairly new hardware could get new drivers that could be loaded on and it would work too. But older stuff would just get left behind.
Anyway, just a thought. On a random note, painting a two story house by yourself sucks!
It would obviously be preferable to have a well-written universal OS, but that brings us around to the old saying: The best kind of government would be a benevolent dictator, but how many dictators stay benevolent?
It would be vastly better if we have well-written universal API layers. Like Java, C#/.NET/Mono, Qt, GTK, and other beautiful cross-platform toolkits.
Unfortunately, except for Java and C#, we don't have any toolkits that go "all the way" in being cross platform, with the possible exception of Win32 (WINE), but Wine is reverse engineered, not bottom-up designed, so there are limitations.
There's no reason for application interfaces to be deeply tied into the OS. Properly engineered, a user-space environment on Linux should be able to run Windows or OS X or whatever applications, and vice versa. The reason we do not have this is not because of engineering limitations, but because of vertical vendor lock in. Lately, this seems to be easing slightly.
I envision a future where applications come with API requirements, not OS requirements. "Requires GTK 2.42, OpenGL 3.0, and SDL. OpenAL 5 required for 3D audio." Software manufacturers would probably support particular "distributions" on the box ("Runs on OS 12.5, Mandriva 2012, and Windows Super-Next-Hubble-Viewpoint"), but like *current* binary software for Linux you shouldn't have many problems installing on the "wrong" distribution; with minor API-requirement caveats.
Think Python applications (these are often cross-platform). Think Java. Think C#. As CPUs get faster, we can put up with some of this overhead; and indeed, in some cases there is very little overhead (WINE does Win32 in userspace on Linux really quickly. Imagine if Microsoft gave up the OS business, but just started selling something like Wine. The "Windows" application layer for Linux, OS X, Unix, Solaris, whatever.
If you want an example of this environment, look at Linux, Solaris' Linux Application Environment, FreeBSD's Linux Application layer, and lxrun, the Linux application layer for (ick) SCO Unix. IIRC, AIX is also Linux compatible.
I think it can work; and giant commercial developers have no problem operating in this multisegmented space. Sure, there are a few more compatibilty bugs than in the Windows monoculture, but there's a greater diversity of applications and environments (from very small systems to giagantic systems), and if the commercial OS space was more competitive in the Desktop world (multiple vendors of multiple pedigree OSs) we would see these compatibility issues worked out quickly.
WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell