Slashdot Mirror


Virtues of Monoculture, Or Why Microsoft Wins

blackbearnh writes to ask, "Why does Microsoft win the development environment war so often, when we all know it's a lifetime lock-in to Windows? Perhaps it's because the open source community offers too much choice." From the post: "Microsoft offers the certainty of no choices. Choice isn't always good, and the open source community sometimes offers far too many ways to skin the same cat, choices that are born more out of pride, ego, or stubbornness than a genuine need for two different paths. I won't point fingers, everyone knows examples... The reality is that there are good, practical reasons that drive people into the arms of the Redmond tool set, and we need to accept that as a fact and learn from it, rather than shake our fists and curse the darkness."

7 of 703 comments (clear)

  1. Re:+5 (Obvious) by TubeSteak · · Score: 3, Interesting

    The very nature of Open Source allows for such diversity that it will obviously be split ito smaller groups of enthusiasts. It's the nature of the beast.
    To many choices are demotivating.
    People feel overwhelmed and decide not to choose anything.
    That is basic psych.

    http://www.google.com/search?hl=en&q=too+much+choi ce
    --
    [Fuck Beta]
    o0t!
  2. As if choice is inexistant on MS platforms by xenocide2 · · Score: 3, Interesting

    There's plenty of choice on Windows. The only difference is that these choices involve paying money for things whose worth you can't evaluate until you've used them for longer than a month. Branding helps tremendously in such a situation, as does bundling, both of which MS has in spades.

    Some examples of choices developers have on windows platforms:
    * IDEs - visual studio, eclipse, netbeans, dev-c++, codewarrior, just to name a few I've used
    * The various .NET languages
    * Databases
    * Webservers, IIS, apache, or something else?
    * antivirus, Vista tried pretty hard to end all of these though.

    If you're just moaning about how Microsoft has a large vertically integrated set of tools, well, there's Java. Nobody does this, because its stupid and they have the choice not to.

    --
    I Browse at +4 Flamebait

    Open Source Sysadmin

  3. Re:FAQ item by mrsteveman1 · · Score: 5, Interesting

    No you shouldn't be flamed, you haven't said anything incorrect.

    The difference i think is management, which Microsoft has, however flawed, and open source as a general rule, does not. Even within single projects there is useless argument, and forks for ridiculous reasons. In most cases, the required action is for one party to be kicked in the ass, hard. There are RARE cases where the majority of the community sees something going wrong and forks, such is the case with X.org.

    Then you have cases like gnome and kde, which each develop totally redundant, sometimes useless ways to do the same thing, sometimes neither one does it well either.

    Over and over again i see MAJOR parts of the system literally missing, like a device manager, while other parts, like file managers or office applications (openoffice, gnome office, koffice) are developed 3 or 4 times over in parallel by groups who either refuse to use code from another group simply because it has a G- or a K- in front of its name, or neglect to even look around to see if someone has already coded a similar app that could be used and improved.

    In all honesty, gnome and kde have driven me away from linux for everything but core server use, and my next laptop will be a Macbook simply because i'm tired of it all.

  4. Things to learn from Windows and OSX. by fyngyrz · · Score: 4, Interesting

    Oh, it's helpful, all right. For instance, the only reason we've not released a port to linux - a free version, of course, we'd like to give back to the community - is because there is no standard GUI layer. It's a hodgepodge of these widgets and those widgets, this license and that license (really meaning, these liabilities and those liabilities.) Windows provides all that. Free. Built in. Plus a large market. So we developed for them. When Windows became intolerable because of activation DRM, we moved to OSX. Nice GUI layer, free, built-in. development proceeds apace, while linux runs servers. Others may have other reasons, but those are ours. The day the linux core gets BUILT-IN windowing and graphics, and I do NOT mean just xwindows or xwindows plus yet another sometimes-there and restrictively licensed widget set, is the day we make a port that we will release to the community. The community can then, of course, use our stuff or not as they see fit - but as is, it's not a choice. That's been the unanimous decision of the linux community: no coherence.

    I want to say one more thing. The existence of a standard GUI layer in NO way means that you can't still have everything you have now. You'd just have one more thing, something people could write to as a default, even just as a fall-back.

    That's my 2 cents.

    --
    I've fallen off your lawn, and I can't get up.
    1. Re:Things to learn from Windows and OSX. by ErroneousBee · · Score: 3, Interesting

      When I did some (about 1 hours worth) research into this, I came to the conclusion that the only 2 obvious choices were wxWidgets and GTK (perhaps SDL if we are talking games).

      Seeing as both are available on windows/mac/linux, its really hard to understand why you are saying that there are too many choices. There are two, and they port to all linux distros as well as Win/Mac.

      --
      **TODO** Steal someone elses sig.
    2. Re:Things to learn from Windows and OSX. by SQLGuru · · Score: 4, Interesting

      Honestly, though. How many non-/. reading, mainstream users are going to install another widget system on their computer? Few or None. Even if you port your free application to a "Linuxy" version of Windows or OSX, no one will come. If you want my mom to use your program, it better come on CD and run on Windows. If you want my dad to run it, it better come on CD and run on Windows. My sister, well, she'll download it, but it better run on Windows.

      Back to the original question, the reason that so many companies choose the Windows development? It just works. I can install MS Visual Studio, connect to MS SQL Server, pull in web services off of IIS. And it just works. I call developing in a Microsoft environment "pointy-clicky-draggy-droppy". You don't really have to think about too many config files or whether something works together. It may be dumbed down, but as a developer, I don't want to really have to think about configuration, I want to think about code.

      My primary development environment right now is Eclipse and Java. I hate it. Why? Too many choices and no way to know which is the right choice. I have to deal with this configuration and that configuration and a few .properties files thrown in, too. I spend about six hours each week (sometimes more) fighting the environment I work in because someone made a choice that turns out not to have been the best one (for us - I'm sure for someone else it was the perfect choice).

      Layne

    3. Re:Things to learn from Windows and OSX. by 99BottlesOfBeerInMyF · · Score: 3, Interesting

      Then users demanding "Linux" applications are demanding something that will never happen since you can not write an application to a kernel!

      The truth of the matter is, you can easily write a "Linux" application that runs on pretty much all major Linux distributions.

      I'm not trolling, I'm no shill and I definitely do not work for Microsoft.. but I just really believe that "too" much choice sucks.

      I disagree. The real problems we have with many choices are all because we have a monoculture. Because there is one dominant OS and that OS is intentionally incompatible with other things, fragmentation is an issue. If we had four OS's sharing 75% of the market and another 10 OS's sharing the rest we'd have significant investment in all the major ones and in technologies that allow for good cross-platform development and portable applications so it did not matter which OS you are running as much, since it would preclude your using a given application.

      I would have a much easier time choosing between 2-3 carpet types and 10-20 colors than the amazing number of styles/options out there (visit the carpet section next time you're at home depot and you'll know what I'm talking about).

      I picked out some carpet a month ago. Like any other decision, I had criteria. It needed to go with two different wall colors and needed to have a pattern to hide the stuff tracked in from outside and the garage. If there were only 10-20 colors, I would have had a carpet that was less suited to my needs than what I did get, since I doubt one of these 20 colors would have been a combination of colors complementary to my walls along with a dark and a neutral to help hide dirt and the like. If you don't like having choices, then just pick from a limited selection from one company or collection. I don't see why this is hard. Variety and competition breed innovation and improvement and allow for a better fit to a given task. It is only when we have a monoculture that the problems appear and one vendor can intentionally make sure you have no choices by making sure floors are either compatible with their carpet or are weird and non-standard ones that do not work with anything other than one specialty floor.

      The choice is even worse for software companies that put money or even the whole company on the line when they make a platform choice.

      So it is better for a company to have only one or two choices, than many choices to find the best fit for their needs? I'm not sure I understand that argument at all.

      If you happen to know something about carpet, or where I can get more/good information please post it. No pets, one year old and an average budget. Thanks in advance :)

      I don't know a lot about carpet, but I recently did some research and consulted someone who knew a whole lot. I'm happy with the result. Consider what it will look like in two years given the type of traffic you have. Consider changing trends and what will quickly look dated. Spend the extra money for thick, high quality padding underneath the carpet as that makes a whole lot more difference for the price differential than the cost difference between the carpets themselves.