Slashdot Mirror


Windows Beat Unix, But it Won't Beat Linux

Onymous Hero writes "The amazing thing isn't that Windows beat the pants off Unix; it's that so many of the Unix companies survived until today. An article from eWeek looks at why Linux has been so successful where Unix failed." From the article: "While the Unix companies were busy ripping each other to shreds, Microsoft was smiling all the way to the bank. Because the Unix businesses couldn't settle on software development standards, ISVs (independent software vendors) had to write not a single application to get the whole Unix market, they had to write up to a half-dozen different versions. Which would you rather do? Write a single application that would run on all Windows systems, or six different ones, each with its own unique quality assurance and support problems? "

35 of 424 comments (clear)

  1. Make that three. by Xenex · · Score: 5, Informative
    From the article:
    "Twelve years ago, I oversaw a PC Magazine feature on Unix on Intel. My team and I reviewed at Unixes from Consensys, Dell, Interactive, SCO, Univel, Sun, and NeXT.

    ...

    Today, most of those companies are dead. Only two of them--Sun and SCO--are still in the Unix business.


    Make that three.

    NeXT are still in the Unix business.
    1. Re:Make that three. by hungrygrue · · Score: 5, Funny

      That is still only two, he counted SCO as still being "in the UNIX business".

    2. Re:Make that three. by Anonymous Coward · · Score: 5, Informative

      > Still? Apple's new to the UNIX business. They weren't in it 12 years ago.

      They were.

    3. Re:Make that three. by Daniel_Staal · · Score: 5, Funny

      Hey, SCO is still in the Unix business!

      ...the way a tapeworm is in a dog...

      --
      'Sensible' is a curse word.
  2. fortunately its not so hard to write for Unix now by torpor · · Score: 5, Informative

    .. you just have to choose your API's/frameworks carefully.

    i mean, its not so difficult to set up a project that will cross-compile, use GTK+ or one of the other, smart, GUI libs, heck even SDL+libcairo works wonders, and then get it running on Solaris, Linux, *BSD's, OSX, and Windows .. as long as you're developing on Unix.

    but you certainly can't easily do it the other way around: develop on Windows, and port across. It can of course be done (with GTK+, etc), but its not as easy as it is to do under Unix.

    --
    ; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
  3. Why it won't. by suso · · Score: 5, Insightful

    And it won't for one simple reason. Its open source and free. Time and time again people say that Linux won't be able to last another year against Windows, and time and time again Linux is still here and stronger than ever. It is for one simple reason. It will last so long as people still have an interest in it and keep developing for it. Theoretically, Linux could last forever against Microsoft because there will always be people who don't want to buy into them. And there will always be people who want software for free and be able to modify their software. We could sit at 24 million Linux users for the next century and be fine. Still using Linux? (version 8.6.12-ac3) You bet I am.

  4. Never! by RasendeRutje · · Score: 4, Funny

    Which would you rather do? Write a single application that would run on all Windows systems, or six different ones, each with its own unique quality assurance and support problems?
    Well let me think... I'll write a single application that would run on all Windows systems, after they pry my cold dead fingers off my smoking gun.

    --

    If Microsoft was mass, stupidity would be gravity.
  5. Is LSB a valid system or isn't it? by TripMaster+Monkey · · Score: 5, Insightful

    From TFA:
    They [many of the Linux distributors] have realized that it takes more than open-source; it takes open-standards to make a successful open operating system.

    That's why the LSB (Linux Standard Base) 3.0 release is so important.
    Hold on a second...according to Ulrich Drepper, the LSB was fundamentally broken.
    (Note: see the Slashdot discussion regarding Ulrich's assertions here.

    If Ulrich is on target, LSB, far from being the saving grace of Linux, could well be its downfall.
    --
    ____

    ~ |rip/\/\aster /\/\onkey

    1. Re:Is LSB a valid system or isn't it? by Junior+J.+Junior+III · · Score: 5, Funny

      LSB may be fundamentally broken, but just wait for LSC, which will almost work. And then, emerging from the smoking ashes of LSC, after much pain and labor, we'll have LSD. And LSD is going to be faaaaaar out.

      --
      You see? You see? Your stupid minds! Stupid! Stupid!
  6. Linux wins because the OS isn't as important... by MosesJones · · Score: 5, Interesting


    Back when Unix ruled the world you programmed in C at the OS level, you had to understand about pipes and processors and threads and lots of other elements of the OS. This meant it was a pain to re-learn across all the other platforms.

    Now there are (for enterprises) only two real choices, Java and .NET. Java in paticular abstracts the operating system questions away so it becomes irrelevant what OS is running it just needs to run Java fast and cheap, so using lots of small boxes tends to be the way to go. Similar things can be said about Python, Ruby et al but large enterprises use them less.

    Linux is winning in large enterprises because its the cheapest, and safest, way to run Oracle RAC and J2EE Application Servers. If you really don't care about the OS (and most of the time you don't) then you might as well pick Linux.

    If programming was still at the OS level then IMO Linux would still struggle as you'd have to understand a lot more about it. J2EE in paticular has made hardware a commodity, and in the commodity world Linux is the best choice.

    --
    An Eye for an Eye will make the whole world blind - Gandhi
    1. Re:Linux wins because the OS isn't as important... by tomstdenis · · Score: 5, Informative

      At the OS level?

      Um *cough* POSIX.1 *cough*....

      My apps built and tested in Linux build in BSD routinely with little to no modification (occasionally I need to fix a makefile to use the build tools differently).

      Just because some people *can't* code a program without going directly to asm to make syscalls doesn't mean things like glibc [which has threads] and the POSIX.1 standards don't exist. In fact I once wrote a webserver for QNX that built out of the box for GNU/Linux because I used nothing but standard function calls.

      Stop being a poser. You don't need Java to get program portability.

      Tom

      --
      Someday, I'll have a real sig.
    2. Re:Linux wins because the OS isn't as important... by Jon+Peterson · · Score: 4, Insightful

      I think you are missing the point. Getting your software to build on two platforms is about 10% of the total problem.

      Think of all the surrounding stuff:
      1. Manuals
      2. Installation
      3. Interfaces to other parts of the OS

      So what if your code compiles on Solaris and Linux. If you want to support both, you will need to write a Solaris package and an RPM package. And one system uses /bin/sh as the default user shell and the other user /bin/bash. And those two shells don't work the same way. And a solaris user might well expect the program to be installed in /opt, while the linux sysadmin might well want it in /usr/local. And what if the program relies on the system cron to schedule things. You think Linux and Solaris cron work _exactly_ the same way?

      It's not straightforward.

      --
      ----- .sig: file not found
  7. Intro ad? by porkThreeWays · · Score: 4, Funny

    haha I know this is off topic, but...
    When clicking on the story to ready it, there was a sun ad saying "With their evil systems, it's no wonder their name rhymes with hell"

    haha Classy.

    --
    If an officer ever threatens to taze you, say you have a pacemaker.
  8. Standards by 16977 · · Score: 4, Insightful

    the Unix businesses couldn't agree on software development standards

    Oh, and Linux can?

  9. What's wrong with a win-win? by mcraig · · Score: 5, Insightful

    Why is it that for Linux to succeed Microsoft must fail and vice versa? Surely there's room for both of them in the market and competition is a healthy thing to prevent stagnation. No one looks for ATi to destroy Nvidia or wants Sony to put Nintendo out of the market so why the constant desire to see Microsoft fail? I actually like a lot of what Microsoft is trying to acheive with its next round of software. At the same time I love the progress made by Debian, Ubuntu, E17 etc. one spurs the other. If Microsoft fails surely thats bad for the American economy and in the long term means less jobs for people like ourselves, it's almost like wishing another Katrina on yourselves, doesn't make much sense to me.

    1. Re:What's wrong with a win-win? by jmacleod9975 · · Score: 5, Insightful

      Judging from Microsoft's past track record, it defines success as completely destroying its competitors.
      Defining success as being a relevant OS, and failure as being not relevant, it all depends on your point of view.
      From a Linux advocates point of view (if you can nail that down), they should both be able to succeed.
      From Microsoft's point of view, to succeed, Linux must fail.

  10. What? That doesn't add up. by jidar · · Score: 4, Insightful

    " Which would you rather do? Write a single application that would run on all Windows systems, or six different ones, each with its own unique quality assurance and support problems?"

    Now how does that make sense? Microsoft didn't meet anyone elses standards either. If anything even though the Unix guys didn't exactly pull it off, they still did a better job meeting standards than Microsoft. The truth is they were all doing their own thing, just MS managed to sell enough to get the userbase it needed to make developing for their platform a no-brainer.
    In short, it wasn't Windows standards compliance or lack thereof that made them win, Windows won in spite of it.

    --
    Sigs are awesome huh?
  11. Dissing the BSDs, alas... by Noryungi · · Score: 5, Insightful

    From the article:

    The second advantage was it had Linus Torvalds.
    There are other open-source Unix operating systems: the BSDs.
    None of them, though, have had even a fraction of Linux's success.
    Because Torvalds is the single leader of Linux, it has avoided the old Unix trap of in-fighting, which continues to bedevil the BSDs.


    Excuse me? Sure, there is in-fighting among the BSDs, but there is certainly more in-fighting and more competition among the Linux distributions.

    For instance, the ports/packages of OpenBSD is inspired by FreeBSD's, while NetBSD's pkgsrc has been selected by DragonFlyBSD. OpenSSH, from OpenBSD, has been adopted by both FreeBSD and NetBSD (not to mention countless other OS) and pf has also been imported into FreeBSD and NetBSD. And so on and so forth. That does not sound like in-fighting to me.

    So... in-fighting? Sure, there is competition between the BSDs, and a fair amount of sniping and name-calling, but I don't think this is worse (or better) than the in-fighting between the different Linux distributions.

    --
    The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
  12. One word: Bollocks by squiggleslash · · Score: 5, Insightful
    "Unix" failed because of the following:

    1. Most Unix operating systems ran on proprietary hardware only. NT could be installed on cheap hardware you could buy from a store.

    2. The exception was SCO Unix. But SCO treated it exclusively as a high-end product, so it didn't end up on desktops.

    3. No serious push was made to put Unix on the desktop. As a result, Microsoft was able to sell NT as an operating system that the majority of system administrators were familiar with, as opposed to Unix where almost nobody had it on their desktops.

    If these issues had been knocked on the head, Unix might have stood a chance. As for "rival" versions all making different decisions, who gives a crap? So "Unix" wasn't one operating system, but several: if it was five different operating systems, then it had five chances to be successful. Any one of them could have succeeded and changed the market. None of them did, not because they were rivals, but because they all had at least one major flaw as documented above:

    • AIX might have been successful had it been available for x86 and with low-cost desktop versions available that were properly pushed.
    • Solaris might have been successful had it been available for x86 (before Linux) and with low-cost desktop versions available that were properly pushed.
    • HPUX might have been successful had it been available for x86 and with low-cost desktop versions available that were properly pushed.
    • DEC Tru64 might have been successful had it been available for x86 and with low-cost desktop versions available that were properly pushed.
    Whether, of course, it would have been capable of being properly pushed, given Microsoft's stranglehold on the desktop market in the early nineties, is open to question.

    What the summary documents is a nonsense and ignores the real issues. Arguing that AUX didn't succeed because it competed with Solaris would be like arguing MSDOS didn't succeed because it competed with CP/M. The fact all of these operating systems shared a brandname does not mean they didn't independently fail. They may have failed for the same reasons, but they didn't fail because they were all slightly different yet had a brandname and some code in common. That's ridiculous.

    --
    You are not alone. This is not normal. None of this is normal.
  13. Tyrants and the future... by Tominva1045 · · Score: 4, Funny

    Would you rather have 1 tyrant (Bill Gates) 3,000 miles away or 3,000 tyrants (open sourcers) 1 mile away?

    --
    Cogito Ergo Sum
  14. Re:this article's ignorance is astounding by mabinogi · · Score: 4, Informative

    hmmm...java - self installing executable.
    Firefox, and netscape before it - self installing executable.
    Flash - self installing executable.
    MyEclipseIDE (a commercial J2EE feature / plugin for Eclipse) - self installing executable.
    Even Oracle is a simple clicky wizard away on Linux these days.

    The challenges to installing 3rd party software on Linux or any Unix are no different to the ones in Windows. - In fact, with the complete lack of package management in Windows, most Unix like systems are actually easier to create installs for.
    It's not the fault of the operating system if the application vendor can't be bothered spending the extra time to make the installation process easy.

    --
    Advanced users are users too!
  15. Wait just a darned minute by $RANDOMLUSER · · Score: 4, Funny

    Are you suggesting that there's a better way than writing everything for the curses library?

    --
    No folly is more costly than the folly of intolerant idealism. - Winston Churchill
  16. Maybe I'm wrong by hackstraw · · Score: 4, Interesting

    but:

    Write a single application that would run on all Windows systems, or six different ones, each with its own unique quality assurance and support problems?

    Seems a little bit oversimplified. I'm not directly affected because I don't use Microsoft software, but I've heard where I work that it takes months to verify if every service pack for Windows will work with existing software. And when I was a Windows developer, we were doing some pretty low level stuff with the authentication subystem, and things were very different between Win 98, 2000, and NT 4 (was that really still around then?). Granted, for a simple GUI app, Windows is very portable across its products, but if you get a little lower into the OS, things get nasty quick.

  17. History says.... by southpolesammy · · Score: 4, Insightful

    History says that if you build an app for Solaris first and that gains marketshare, then maybe it might be worthwhile to port it to other Unices if the development and porting costs can be recouped with sales and support. Linux has been changing that somewhat, but I'd still wager that most development houses that write for a Unix market almost always have Solaris as a primary platform.

    As to why you'd do this (and to some extent, this is still valid), it's because Unices provide a stable, well-mature platform for apps and are capable of more processing power than your typical Windows system -- all desirable traits for an application that people are going to depend on. People use Windows because the time-to-market for development is typically shorter than that of Unix development, mostly due to the fact that 95% of the world can write an app on their Windows desktop and copy it to a Windows server platform without modification. Doesn't mean it's good code or a well-thought out development strategy, but it's an enabling technique that keeps Windows development prevalent in IT.

    --
    Rule #1 -- Politics always trumps technology.
  18. Wrong premise by Anonymous Coward · · Score: 5, Insightful
    they had to write up to a half-dozen different versions. Which would you rather do?

    Good grief what bull - anyone would think you've never been able to write large scale single source apps until you ship on one platform (Linux, Windows or the Mac, choose one). Between 1990 and 1994 I worked for Laser Scan (out of business for about a year now) www.laserscan.co.uk. We wrote GIS systems for VMS and 6 Unix platforms. All single source, in C, using X11 and Motif with Oracle I think, using object based code (the GNU C++ compiler wasn't up to much in 1990 when we had to choose). There was I think one header file with the few platform specific things in (like missing macros on Solaris) etc. I can't remember how many lines of code, but I think about the 1 million line mark, excluding comments. 11 years is a long time to try to remember that stuff.

    But single source - that is the majority of your headache gone right there. Which leads to the next FALSE assertion:

    Write a single application that would run on all Windows systems, or six different ones, each with its own unique quality assurance and support problems?

    Write a single App for VMS and six competing Unix vendors from single source - why thats the same as write an app for seven different Linux vendors from single source. You STILL have the seven unique quality assurance and support problems because each distribution will be different.

    It would be nice to assume that because you built it on RedHat it will run on Suse. Maybe it will most of the time. But will it always? And when it does not, will the cause necessarily always be the same when it fails on Linux vendor #2 compared to failing on Linux vendor #4? Maybe, Maybe not, that is the question, for alas quality assurance and support did not exist when he wrote plays in Stratford upon Avon.

    Still, I'm sure the informed journo that wrote that article has a nice pay cheque.

  19. Re:MacOS X is not Unix. by MPHellwig · · Score: 4, Insightful

    May I suggest you tell Apple that "MacOS X is not Unix"?

    According to you tf Apple site:
    "Beneath the surface of Mac OS X lies an industrial-strength UNIX foundation..."
    http://www.apple.com/macosx/features/unix/

    Luckily I commented on you so that I am not tempted to mod you overrated.
    Wether you call BSD dead or not, I don't care, I just use what works the best for me, sometimes it is windows sometimes it is Mac other times it is bsd. I tried linux but I am more experienced with BSD's.

  20. Except: Microsoft's evolution was WORSE... by awfar · · Score: 5, Insightful

    "Which would you rather do? Write a single application that would run on all Windows systems, or six different ones, each with its own unique quality assurance and support problems? "

    Development, installation and running on multiple MS platforms was NEVER easy: how quick everyone forgets...

    In Win 3.x installation was text files, then .INIs, then some .INIs and half a registry, then Win32s, Win32, then Win 9x and the registry, then NT, it's unique registry, then running 16 bit in 32 via thunk and later WoW, ad nauseum! Then, its C, then VB, then, Visual, then VB + VC++, whatever...

    Never mind the network. Monolithic, NDIS, NDISII, II(?), Netbios/NETBEUI, then Bill Gates invented the Internet and IP, then broken IP stacks....

    Then COM, COM+, ADO, then AD, then....

    Then this .dll, then VxDs, then .NET,...

    MS Easy to Develop and maintain for, and runs on all machines my Rear.

  21. How about price and Microsoft's bundling.... by Anonymous Coward · · Score: 4, Insightful
    I used XENIX 20 years ago on PC architecture. When we went to the 386, we had a full 32-bit environment, in the late 80's -- it even included a Microsoft 5.x compiler and was VERY stable (only matched today by Linux). The problem was that it cost $400 for the SCO XENIX O/S license and another $400 for the development license (w/o discounts). We were using this software on a computer that we purchased bundled with DOS (esentially for free as you could not buy a PC without DOS from Dell at the time, prior to the first Microsoft bundling law suit).


    The economics were: DOS==FREE (forced bundling) -- XENIX $400


    When you have 1 or 2 machines, this is not too much of a problem. However, when you plan on deploying 20 or 100 or 1000 machines, this $400 adds up very fast. Management balks....


    In the early '90's, we had to pay EXTRA to Dell to get 486 PCs without DOS and Windows. So the cost was EVEN HIGHER. Management would look at the cost of XENIX (or other UNIXs which were comparable) and ask why you could not do it with DOS. As a result a lot of extra, unpaid OT happened to write executives and multi-taskers for DOS when XENIX/UNIX would have been an ideal fit!


    Another factor is price elasticity of demand -- lower price, more demand, higher price, less demand. DOS=FREE (or even $29) versus XENIX $400 -- now which would management let you purchase or design into your product? Concurrent (?) UNIX was $99 and it was an option, but not widely supported. It has taken FREE versions of UNIX/UNIX-like O/Ss (Free BSD, LINUX) to change the market dynamics -- it is hard to compete with FREE and with FORCED BUNDLING.

  22. Spot on! by A+nonymous+Coward · · Score: 4, Insightful

    No middle manager gave a rat's ass about the difficulty of porting to different vesions of UNIX. Certainly the effort to port a UNIX app to Windows and retrain all those programmers was far greater than merely adding a few IFDEFs to existing code. UNIX lost just as squiggleslash says. When time came to add a simple print server or file, managers said, Whoa, I can add a cheap Windows commodity system, or I can buy an expensive UNIX box that has to go in the dataceneter with special power and cooling requirements. As for who would admin the damn thing, since none of the UNIX guys would touch it, the answer was as simple as Microfoft's ad campaign, why the manager would, it's a GUI, what could be simpler?

    UNIX ignored cheap systems, everyone knew the money was in the big boxes, and as for the desktop, that was an insignificant market to be sniffed at. No serious vendor paid attention to desktops, only (sniff) Microsoft and their toy operating system.

  23. 'cos there is no win-win with Microsoft involved by DFJA · · Score: 5, Insightful
    If Microsoft wins and Linux loses, there is no competition left, only a monopoly. That is not good for anyone (except the monopoly).

    However, if Linux wins and Microsoft loses, there are still N-1 companies competing in the OS market, where the -1 is the loss of Microsoft. So still (almost) as much competition as before, and it's still good for everyone.

    I want NVidia and ATi both to succeed as while they are both there, there is real competition. Linux doesn't work that way, it's not a good analogy.

    That's the beauty of the GPL. It's all in the licence, stupid.

    --
    43 - For those who require slightly more than the answer to life, the universe and everything.
  24. What the hell!? by SalsaDoom · · Score: 5, Informative

    This is of course, going to get modded down into oblivion, but damnit, this is going too far now.

    Are are you mods on crack? This is the lamest troll I've ever seen and you tools are lapping it up? Fuck me, but is slashdot ever full of POSERS if you guys can't tell that this is pure crap.

    FreeBSD has Linux have always been very neck to neck. While linux would be a touch faster at this, FreeBSD would be a touch faster at this, etc. Linux has better hardware support, FreeBSD tends to have better stability. It goes on like that and pretty much always had.

    FreeBSD has not benefitted from Apple. Apple has benefitted from BSD. Purely a one way relationship. Since when did Apple write FreeBSD's VM and SMP code, that makes "OSX running effiecently" -- OSX is not efficent. Its bloated to the max. You might dig is GUI and design, thats fine, but you can't tell anyone that its effiecient code because you don't have to look hard for benchmarks to make that claim a joke.

    FreeBSD does not run on Apples mach microkernel, holy shit, how did this slip by? Is this just Apple fanbois modding anything even remotely pro-apple up? This has got to be happening here. What the hell is this long and precarious history of FreeBSD -- its bloody free software, what exactly is supposed to happen to it? And... ooh! So annoying, the troll even posts about how FreeBSD has wicked HARDWARE support now -- argh! Like they even run on the same machines sand you guys still modded it up!

    If god were real he would strike you down for modding this up, even if you are a mindless apple fanboi.

    --SD

    --
    "Computers will never truly be free until the last windows user is strangled with the entrails of the last mac user."
  25. A couple of corrections... by pschmied · · Score: 4, Informative
    I run FreeBSD 5.2 on a four-way Xeon box at work and thank Apple every day. If it weren't for the Mach micokernel from Apple we wouldn't be able to do these nice things with FreeBSD now or probably ever.


    Actually, FreeBSD does not use the Mach microkernel. FreeBSD, NetBSD, and OpenBSD all use their own traditional kernels. The only free BSD flavor to sport a microkernel is Darwin (and its variant OpenDarwin). Actually, according to Apple, Darwin does not even support SMP on x86 platforms currently (though I'm sure this will change with Apple's transition to Intel)

    Apple's pattern is to sync every major Mac OS X release with the latest major FreeBSD release.


    Actually, this is only partly true. They tend to mix and match bits of the BSD userland from FreeBSD and NetBSD.

    Apple's biggest contribution has been in the form of good press. Actually, Apple's OS only sort of resembles FreeBSD. The init plumming is all different. Directory structures are very different. NetInfo is very different indeed than FreeBSD's more traditional model for user management, etc.

    And what's with the link in your last line to trollaxor.com? (Look at the period at the end of the last sentence.) As glowing an endorsement this would seem of FreeBSD and Apple (of which I'm fond of both), it would seem maybe that a lot of mods were cleverly trolled?

    -Peter
  26. The Art of UNIX programming by Kat0325 · · Score: 4, Interesting

    For related 'extra' information... Chapter 2 in the Art of Unix Programming (Eric S. Raymond) contains a very interesting discourse about the history of the UNIX operating system, and offers insight into operating system wars in general.

    One of his points is that many early UNIXes suffered because of licensing issues. I definitely feel that Linux's edge over older UNIXes is its open source license.

  27. Come on, not in the same league by SuperKendall · · Score: 4, Insightful

    I worked on a C code base that spanned several UNIX systems (the standard ones and wierder ones like AIX or IRIX). It also ran on MPE and VAX systems.

    Let me tell you, there were a LOT of ifdefs going on to deal with vagaries in the size of an int, byte ordering, even memory management.

    You seem to claim that POSIX gives you just as good cross-platform abilities as a system like Java or Python. But that is simply false; at best Posix is only an order of magnitude worse in terms of testing across systems that is required to be done compared to a cross-platform language like Java.

    One reason for this (at least in the case of Java) is a really rigorous set of tests that help ensure to what degree Java will do the same thing across platforms. Posix is not as well defined as Java to start with, and as a result simply cannot be tested as throughly to insure a similar level of behavoral similarilty across systems.

    The common Joke with Java is that you "Write Once, Test Everywhere". But in my extensive practical experience I have seen no code changes required to easily develop day-to-day Java across Windows, Solaris, and Linux. There is NO WAY if I were writing POSIX C code I would be as comfortable just writing on Windows or Linux and then deploying straight to Solaris.

    Java has moved out the bits that you really do need to "test everywhere" out much further on the fringes of coding than C has.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  28. Is this a fucking joke? by xant · · Score: 4, Insightful

    You do have to write a different version of your app for every version of Windows. OK, maybe it's not 6, but there are massive differences between Windows 98 and, say, Windows 2000. Windows XP represents another, albeit less disruptive, set of changes. Windows Vista will probably represent the biggest set of changes yet. Each of these is a development target, with its own QA requirements and so on.

    I've worked on software that had to be supported on HPUX, AIX, Solaris, and yes even SCO's crappy UNIX. There were notable differences and QA requirements, but the differences between the Windows branches are much more significant.

    Windows won for one reason. It was pretty, so you could trick people into learning how to use it. Well that, and people had windows computers at home, and they brought that skillset with them to job interviews.

    It can't beat Linux because Linux doesn't have stockholders to answer to. And it's losing share to Linux in direct proportion to the degree to which Linux is getting prettier.

    --
    It's rare that you're presented with a knob whose only two positions are Make History and Flee Your Glorious Destiny.