Forgot your password?
Programming Microsoft IT Technology

Virtues of Monoculture, Or Why Microsoft Wins 703

Posted by kdawson
from the nice-tools-in-the-cathedral dept.
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."
This discussion has been archived. No new comments can be posted.

Virtues of Monoculture, Or Why Microsoft Wins

Comments Filter:
  • FAQ item (Score:5, Insightful)

    by Wonko the Sane (25252) * on Wednesday April 25, 2007 @12:21AM (#18865843) Journal
    This really needs to be put in a FAQ somewhere.

    Does this author have a valid point? Probably
    Is this point, and any relevant discussion, different from the last time this was brought up a few months ago?

    Probably not.
    • Re:FAQ item (Score:5, Insightful)

      by Anonymous Coward on Wednesday April 25, 2007 @12:40AM (#18866031)
      I don't think the author does have a point. After using Vista, I think it's the money put behind discovering the the sweetspot, and zeroing on that. Is Vista perfect, no. But is that a reflection of my deviation from the exact center of the sweetspot, or microsofts failure to anticipate users wants and needs. No, I think that they cast a wide and tight net, catch 95% of the fish, and the rest serve everyone else. Which is good, a real and public good, which doesn't seem to be recognized by the article. Vista will win me back from KDE, it already has honestly. I even had occasion to use OS X intensively this week, and it is not for me. But that heterogenious nature of the OS spectrum insures no one has to go unserved. If Vista had been a horrible catastrophe in my eyes, KDE would have continued to serve me well. Failing that, 2k. To be sure there is someone with a MacBook out there thinking "I love OS X, but worst case scenerio, but if I had to settle, Gnome is good enough." Now if me and him were to meet there would jungle rythems and one of us would be Kirk, and the other would be a lizard man in a loincloth. But the fact remains that while Microsoft serves most, likely best, all should be served as they wish, even if it's a cloud of rabbid individuals who demand full control, no matter how byzantine, over their user experience. We are all discreet elements in an appearently continuous spectrum.
      • Re:FAQ item (Score:5, Informative)

        by Wonko the Sane (25252) * on Wednesday April 25, 2007 @12:49AM (#18866099) Journal
        The only definite point I got from that article was "sometimes too much choice is bad". I don't think you can really seriously argue with that statement, but on the other hand it'd not all that helpful either.
        • by fyngyrz (762201) * on Wednesday April 25, 2007 @01:48AM (#18866537) Homepage Journal

          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.

          • Re: (Score:3, Insightful)

            by Kristoph (242780)
            You seem to misunderstand that Linux is not an operating system, it is a kernel. The various 'distributions' are operating systems built upon the Linux kernel. In the vast majority of cases the distributions which target client solutions offer stable UI layers for any given version.

            So you could, for example, create a solution for Ubuntu - currently the most popular client distribution - which includes a windowing system, widget libraries, desktop environment, documentation environment and everything else yo
            • by BlueTrin (683373) on Wednesday April 25, 2007 @02:49AM (#18866965) Homepage Journal
              You would then target a fraction of a smaller customer base.
            • by eihab (823648) on Wednesday April 25, 2007 @04:06AM (#18867349)
              Then users demanding "Linux" applications are demanding something that will never happen since you can not write an application to a kernel!

              Sarcasm aside, I am (and have always been) shocked at how various Linux distributions differ. I'm by no means a Linux expert, but come on, if you can't agree on where to put your init0.d-init6.d (or whatever it is, yes I'm looking at you Gentoo) then how do you expect an outsider to write something that works for "Linux"?

              I mean we hear all this crap about Microsoft and how ME breaks 98, and 2000 breaks ME and Vista breaks XP, etc.
              But do the math, how many operating systems are we talking about here? now compare that to Linux distributions available today.

              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 just (literally) bought a new house (closed escrow today) and I've been in the carpet choice dilemma for the past two weeks! (mind you it took me a while to settle on carpet instead of hard wood floors, pergo, etc.).

              Come to think of it, I think this carpet analogy (that I'm about to write) is right on money here. OS is like carpet! It's the foundation that you build on. Think of how carpet pretty much dictates what kind of furniture (style/color etc.) you'll be placing on it, OS will do the same with your applications.

              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).

              Things like carpet and operating systems (I can't believe I'm lumping them up in the same sentence) are not mundane. They are a *huge* deal because of the consequences of the choice (much like posting this without hitting the "Post Anonymously" checkbox). They're something that you will invest a good amount in, and that will be with you for a long time.

              Choice is a VERY good thing, too much choice may even be perfect for those who know "exactly" what they want.

              I live and breathe computers, and I think it's silly that I'm spending all this time researching "the" perfect carpet for me and my family. I also believe that the home decoration specialist that knows what kind/make/model/color/class of carpet they want for the hallway of their second house (and have it written somewhere) would be as frustrated as I am with carpet if they had to choose from the plethora of Linux distributions out there today.

              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.

              I'm done ranting, gotta hit the sack and hope that I come to a decision about the carpet before we get the keys!

              Side [OT] (as if this whole thing wasn't anyway) note:
              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 :)
              • Re: (Score:3, Insightful)

                by ozmanjusri (601766)
                how do you expect an outsider to write something that works for "Linux"?

                Provide the source code under an open license. It's how we want it to happen.

              • by Teach (29386) <> on Wednesday April 25, 2007 @10:07AM (#18869887) Homepage

                Choice is a VERY good thing, too much choice may even be perfect for those who know "exactly" what they want.

                But as you say, too much choice is crippling. To quote author Madeline L'Engle: "Freedom is a terrible gift, and the theory behind all dictatorships is that 'the people' do not want freedom. They want bread and circuses. They want workman's compensation and fringe benefits and TV. Give up your free will, give up your freedom to make choices, listen to the expert, and you will have three cars in your garage, steak on the table, and you will no longer have to suffer the agony of choice."

              • by 99BottlesOfBeerInMyF (813746) on Wednesday April 25, 2007 @10:32AM (#18870275)

                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.

              • Re: (Score:3, Informative)

                by Chris Shannon (897827)

                .. but I just really believe that "too" much choice sucks.

                Very true. This is a very informative Google TechTalk called The Paradox of Choice - Why More Is Less [] [warning 1 hour] that describes this issue. It's not intuitive, but is logical. It is very hard for people to make a choice, so hard, that often people will avoid making a decision when doing nothing is actually more costly than making a bad choice. This talk is back up by results of some interesting experiments.

            • by dosquatch (924618) on Wednesday April 25, 2007 @08:22AM (#18868647) Journal

              You seem to misunderstand that Linux is not an operating system, it is a kernel.

              I swear to FSM, I'm gonna go postal the next time I see this argument. Come over here and let me beat you with a clue.

              The vast majority of computer users are not developers, code warriors, uber-geeks, or anything of the sort. All they want is to check their mail, browse the web, and run a word processor. They don't understand this distinction. They don't want to understand this distinction. So what happens is that they call it whatever they hear it being called.

              It's akin to pointing to a parking lot and calling all of the vehicles in it "crankshafts", and then berating some hapless would-be driver for not understanding the distinction that that happens to be just one critical part in the overall makeup, and even though you casually call them all "crankshafts" the vehicles are likely to bear little semblance to one another in form or function.

              Yeah, I know. Another car analogy. I'm trying to be feel apologetic...

          • Re: (Score:3, Insightful)

            by Simon80 (874052)
            If you think that it's incoherent for X windows to be in a different module than the kernel, there's something that you don't get. I understand that there's a confusing amount of choice for someone who wants to develop Linux software, but there never will be some kind of "BUILT-IN" Linux(tm) windowing system, the concept just doesn't make sense. However, it is true that a unified API that eases porting between different GUI kits would be nice.
          • Re: (Score:3, Informative)

            is because there is no standard GUI layer.

            I don't know whether to laugh or cry. You can use any GUI layer you'd like, and it will work everywhere. Want to use QT? No problem. GTK? No problem. Athena? No problem. It all works. In fact, on any given day, I use applications that uses different toolkits (e.g, firefox, SWT, konqueror) and it never bothered me. Yeah, the open file dialog problem still exists, but there is hope in that. And someday, the look will be unified too, have patience. Neither of those are really important, though.

            So if that wa

          • by KWTm (808824) on Wednesday April 25, 2007 @03:54AM (#18867301) Journal
            I'm not sure I understand you. You say that because Linux has both GNOME and KDE (and others), there is not one standard GUI on which to develop. But why don't you just pick one? People have access to both, you know.

            For example, as a die-hard KDE user, I'll ask: what happens if you just pick GNOME and go with that? If it's a useful program to me, I'll install your GNOME program on my KDE machine. For example, I run GnuCash and not KMyMoney, I run Gnumeric and not KSpread, I run Abiword and not KWord (or, and I run Firefox and only occasionally Konqueror. I plan to continue to use KDE for the foreseeable future, and I've never downloaded the default Ubuntu, only Kubuntu.

            Unless I misunderstand you, you seem to be saying: "Microsoft has a single door to walk through. But Linux provides double-doors, so I don't know whether to walk through the left one or the right one. So I won't bother, and I'll just stick with the single door because the lack of choice is less confusing."
            • I also love Kubuntu and use it on all my machines at home... However I develop for Windows at work. Developing application in Windows can be as easy as VB. As far as I have seen there is nothing on this (OSS) side of the fence that comes close to it for ease of use, with (reasonably) good debugging. From there it's a skip and a jump into C# and beyond.

              As a (bad) example of how far UIs have to go, I use Visual Studio 2005 at work [] and I use Matlab for my postgrad work []. Both professional, closed-source product
          • Re: (Score:3, Insightful)

            Bah. KDE-based skype works just fine in a gnome session. It even puts it's status icon in the appropriate place on the gnome panel.

            The only built-in thing in linux is the kernel, and most of that is optional, and that's the way it's going to stay. So "no built-in whatever" will always be true. So what. Require X11 for your app. Pick a common gui toolkit and use it. Compile statically if you're worried. Your reasoning lacks merit. Find a better reason (there are plenty) not to support linux, or shut up.
          • by vdboor (827057) on Wednesday April 25, 2007 @08:52AM (#18868923) Homepage

            because there is no standard GUI layer. Windows provides all that.

            No, it does not. Well only sort-of.. The "standard GUI layer" of Windows is limited to the plain widgets we all know from Windows 95. The ones Notepad and WordPad still use. Ugly menu's and big bevel toolbar buttons. If you look closer you'll see Notepad, Windows Explorer, Visual Studio, Office all use different menu's and toolbar handles. They're all custom widgets, not standard.

            Most advanced widgets for Windows are part of a commercial widget toolkit [] you've chosen. This can be MFC, ComCtl, VLC (Borland), Windows Forms (.Net), WPF (.Net3), Qt, and I'm missing others (e.g. remember those big sized OK-buttons a big green check icon inside).

            All those different frameworks do have something in common. Windows provides central settings for fonts and color schemes. This makes them all look the same. That's something Linux should really improve.

            his license and that license (really meaning, these liabilities and those liabilities.)

            You have two good options for Linux:

            • GTK+. Free for use in commercial projects (LGPL). It's the base of GNOME.
            • Qt. IMHO a enterprise class toolkit (see customer list []). Requires a license for commercial work, but I don't see how that's different from a license for Visual Studio. And you'll get commercial support in return too. Qt is the base of KDE.
          • 1) Your software still looks like a 16-bit Windows application. I imagine the code isn't very portable to begin with. Hence your difficulty in porting.
            2) GTK is your GUI target. If you need a C++-based library, then target wxWindows or QT (added bonus, you get Windows compatibility for free with those two).
            There aren't any other choices. It really isn't as complicated as you make it out to be.
    • Re:FAQ item (Score:4, Insightful)

      by CokoBWare (584686) on Wednesday April 25, 2007 @12:57AM (#18866189)
      /* begin flamebait comment */

      Does the open source community do anything to change it's fractured ways since the last time this was mentioned?

      Probably not. /* end flamebait end */

      I agree with him... I think open-source software is awesome. But there is too much fractured choice in the OSS community, and sometimes businesses are better managed and operate smoother when OSS is not part of the equation.

      Just my opinion... I know someone will flame me *toast* *poof*
      • Re:FAQ item (Score:5, Interesting)

        by mrsteveman1 (1010381) on Wednesday April 25, 2007 @01:28AM (#18866389)
        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

        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.
        • Re:FAQ item (Score:4, Insightful)

          by tftp (111690) on Wednesday April 25, 2007 @02:00AM (#18866621) Homepage
          groups who either refuse to use code from another group

          • How many programmers have you seen who like to use someone's else (NIH) code?
          • How many programmers produce code that is worth reusing?
          • How many programmers write structured, reusable code to begin with?
          • How many of the F/OSS programmers have design specifications finished and approved before the first line of code is written? Compare to the realities of commercial programming. This affects the structure of the code.
          • How long will it take you to find the free code instead of writing it from scratch? You need to match: license, language, interface, libraries, and other requirements. You also need a good documentation on the code that you are reusing (guess that excludes many F/OSS projects right here) because if you plan to read through the source you indeed might be better off just writing your own.

          Besides, many F/OSS people write code not just because they want to produce something specific, but because they like to write the code. There are many babies in the world, but every woman wants her own, strangely enough.

          What commercial coding adds is discipline. Your manager may order you to write this documentation, or to use that library - because he has a reason, good or bad. And he has power to make sure you do it. If the project requires coding an ugly routine in an ugly language a F/OSS coder would rather not do it, and he'd be right - he is not paid to suffer. But a commercial coder will do the job, even if it involves 8052 assembly language instead of Python on Planes :-) Every job has its unpleasant parts, and while a F/OSS coder can skip them a commercial coder can not; if the spec calls for an embedded testing code, for example, or Doxygen comments, you put it in.

          Discipline and dictatorial approach affect the result a lot. Basically, every commercial product is designed either by one person, or by very small group of people. This person (or group) has complete control over every aspect of the product; s/he might be wrong but at least the product is consistent, and not designed by a committee as it sometimes happens.

          In addition to that, commercial products pass the rigorous testing by the free market, and that testing starts when someone thinks about the very idea of a new product. The project may not go forward until there is a good plan how it will be sold, and to who, and for how much. If these numbers make no sense then the product won't be even made. In F/OSS world, for example, I am free to write - and to release into the world - yet another clone of Vi or Notepad (we have hundreds by now, probably.) These clones haven't been weeded out by the market, and so many of them are not viable - but they are out there, just polluting the set of choices because someone will pick some and will be disappointed. You can't reasonably expect a user to choose one out of so many apps? That is a problem.

          And, as someone already mentioned, if you combine AbiWord, KWord and OO's Writer you still don't get MS Word, even though the combined labor that went into all three is probably comparable. Effort dispersed, spent on competing projects is ultimately wasted. But it is so hard to join efforts because compromises and agreements are needed. In a business that would not be a problem.

          • Re:FAQ item (Score:5, Insightful)

            by chromatic (9471) on Wednesday April 25, 2007 @02:38AM (#18866881) Homepage

            How many of the F/OSS programmers have design specifications finished and approved before the first line of code is written? Compare to the realities of commercial programming.

            What commercial coding adds is discipline.

            Discipline and dictatorial approach affect the result a lot. Basically, every commercial product is designed either by one person, or by very small group of people. This person (or group) has complete control over every aspect of the product; s/he might be wrong but at least the product is consistent, and not designed by a committee as it sometimes happens.

            Where in the world have you worked? This is so far from my experience that I'm starting to wonder if I ever worked in software at all.

          • Preposterous. (Score:3, Interesting)

            by Inoshiro (71693)
            "Every job has its unpleasant parts, and while a F/OSS coder can skip them a commercial coder can not; if the spec calls for an embedded testing code, for example, or Doxygen comments, you put it in."

            The percentage of non-FOSS which is documented and the percentage of FOSS which is documented are pretty similar in my experience. Perhaps you are unaware of the incredible 95% of software which is developed commercially, but which is not sold in a shrink-wrapped box in Circuit City. Many companies have inter
      • Re:FAQ item (Score:5, Informative)

        by JohnFluxx (413620) on Wednesday April 25, 2007 @06:41AM (#18868043)
        > Does the open source community do anything to change it's fractured ways since the last time this was mentioned?

        Take a look at

        * Sharing of sound system - both Gnome and KDE 4 will work with gstreamer
        * Joining of messaging system. It was dcop (kde) and corba (Gnome). Now both will use DBus
        * Common themes that make kde and gnome apps look the same.

        Plus lots of 'small' points. Both follow the .desktop standard for menu items, actions etc. Both use the icon naming system, and mimetype system, and so on.

  • A monoculture is not 'diluted' by various compteting camps. 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.
    • Re:+5 (Obvious) (Score:4, Interesting)

      by TubeSteak (669689) on Wednesday April 25, 2007 @12:27AM (#18865899) Journal

      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. ce []
  • de facto standards (Score:3, Interesting)

    by swordgeek (112599) on Wednesday April 25, 2007 @12:25AM (#18865873) Journal
    What the monopoly says, goes. They define a standard. Because they're MS, they define a standard that's different and incompatible with official standards. You either go with the market, or you swim upstream. This is about as clever as saying, "the reason red is red is because it's not yellow."

    Nothing to see here. Market forces and ease of use win over features, stability, or quality.
    • de facto arguments (Score:2, Insightful)

      by Anonymous Coward
      "What the monopoly says, goes. They define a standard. Because they're MS, they define a standard that's different and incompatible with official standards."

      Would that be the .NET standard, or the Mono standard?

      "Nothing to see here. Market forces and ease of use win over features, stability, or quality."

      Well considering the story is about development environments (I'm not certain how desktop environments got dragged into this). Are you saying that Visual Studio is incapable of producing quality code that's
  • As in (Score:2, Insightful)

    by sugarmotor (621907)
    As in - Why not limit the number of websites? Too much choice!
    • by Sancho (17056)
      If there was a community with similar interests but widely varied products (think 10 clones of Google, all with mostly the same services, and each with its own small sub-community) it would likely be harder for all of them to survive against a common competitor than for a single Google with all of the userbase of the sub-commmunities.
  • Choice Wins (Score:5, Insightful)

    by xzvf (924443) on Wednesday April 25, 2007 @12:28AM (#18865909)
    Interestingly enough, I had this arguement today with a co-worker. Choice and flexibility afforded by open source and more importantly open standards will pay dividends for companies that think long term. The shrink wrapped mono-culture beat can be the less expensive option in the short term (no retraining, prepackaged apps with ready training and documentation, cheap labor). But, open with lots of choices wins in the long run every time because it gives ownership of IT to the companies that use it instead of the companies the produce it. Freedom and choice may be the difficult choice in a short-term return corportate culture, but the companies that embrace open standards will be the long term winners.
    • Re:Choice Wins (Score:5, Insightful)

      by sheldon (2322) on Wednesday April 25, 2007 @01:36AM (#18866445)
      I'm leaving my company now, and I'm writing up some documentation on the systems I've left behind.

      They're all similar. They are web apps which did similar things, so I wrote the applications in similar ways using similar technologies. The build similarly, they install similarly. I would choose new technologies as I went, if they were clearly better but I tried to fit them into my existing assumptions.

      Choice is great if you are a rogue cowboy developer. Lot's of stuff all over the place, bits and pieces thrown together. I remember a project we had here, it'd been outsourced to some third party. It came back with just about every piece of free open source software you can imagine. The data entry screens were Java running on Apache, the reporting screens were Python, the admin screens were running Perl scripts. The data entry stuff used Oracle, the reporting used postgres. The whole thing was tied together with some other bits of glue and tape. Thank God the morons who wrote it were horrible architects and the thing couldn't scale, otherwise this piece of unmaintable crap might have ended up in production.

      But when you're trying to write documentation to hand stuff off to the next person, it is so much easier if what you have left behind is all similar to other stuff. It's just so much more maintainable, and easier to train the new guy in.

      That's what wins in the long term. It's not raw freedom and choice, it's making intelligent choices and then sticking with them.
      • Re: (Score:3, Insightful)

        by marcosdumay (620877)

        "That's what wins in the long term. It's not raw freedom and choice, it's making intelligent choices and then sticking with them."

        And how do you plan on makng inteligent choices without 'raw freedom and choice'? The only point that I can take from your post is that lack of choice is (badly) a replacement for good management. Well, that is a nice point, but it doesn't seem you where trying to make it.

  • Hmm (Score:5, Insightful)

    by pembo13 (770295) on Wednesday April 25, 2007 @12:28AM (#18865913) Homepage
    This article assumes that open source developers are aiming at becoming Microsoft like. Maybe they're just in it to make good software: not a profit, not make money for shareholders, or anything that that Microsoft is obviously aiming for. And the article is also using a very narrow definition of "win", one which I'm not sure is possible for OSS to attain.
    • Re: (Score:3, Insightful)

      by tftp (111690)
      Maybe they're just in it to make good software

      Then you'd better define what does the word "good" mean here. How do you measure goodness? One common and sensible metric is popularity, since it measures the willingness of people to use the product. Is a software that is fast and secure good, even though nobody uses it? (because the interface is command line, in Mayan for example.)

      MS surely measures goodness by sales numbers and by market penetration; that flows from the fact that MS Office, [= 2003] for

    • by Moraelin (679338) on Wednesday April 25, 2007 @03:28AM (#18867183) Journal

      This article assumes that open source developers are aiming at becoming Microsoft like. Maybe they're just in it to make good software: not a profit, not make money for shareholders, or anything that that Microsoft is obviously aiming for. And the article is also using a very narrow definition of "win", one which I'm not sure is possible for OSS to attain.

      And that is assuming that OSS developpers are a bunch of nerds in their free time, doing software just for fun. Sad to say, his assumption is closer to reality.

      Oh, there are thousands of 1-2 man projects on sourceforge done by enthusiasts in their free time. Chances are you haven't even heard of most of them. They also tend to be small projects.

      If you look at what's in your favourite Linux distribution, though, it's a different story. Look at the kernel credits some day. You'll see a lot of people from IBM, Red Hat, etc. Hate to break it to you, but they're doing a paid job there. Others may not be employees at such, but got paid/sponsored by a corporation to develop that stuff. E.g., ReiserFS was pretty much paid for by SuSE.

      Other programs there? Mozilla? It even got started because Netscape wanted a browser that can stop MS's onslaught onto their business. Then it got bought by AOL, and nowadays it's Google footing the bill. Open Office? Got started as a proprietary project, then bought by Sun. Nowadays it's Sun doing pretty much the whole work, with people paid to code on OOo. It's costing Sun a lot of money. Etc.

      See, the F/OSS that gets taken anywhere _near_ seriously these days is the work of corporations. Pretty much it's just a framework for a bunch of corporations to pool their resources into fighting MS. None of them has the resources to challenge the behemoth single-handedly, and some have already lost against the behemoth when trying to "solo" it. E.g., ask IBM what happened to their OS/2.

      Where this long rant is going is: of _course_ those corporations are aiming at becoming the next MS. In fact, some of them were the original (near)monopoly long before MS. IBM used to be _the_ name in computing business, long before MS even existed. (And incidentally was just as underhanded as MS. The term "FUD" was first used to describe IBM's tactics, long before MS even existed.) Sun was _the_ name in professional micro-computers. Etc.

      And some of them suffered quite humiliating defeats at the hands of the "beast". IBM created the PC, and everything had to be "IBM PC" compatible. Then MS helped shift that to "Intel x86 compatible". When IBM tried to introduce the micro-channel architecture, it discovered that it no longer is in control of the very architecture it created. The market just ignored IBM and took the PC in the direction other companies wanted. Then even Intel lost control. It became "Windows compatible." It may not have been immediately recognizable as a defeat, but it became blatantly so when Intel had to go ask for MS's permission to implement their own 64 bit extensions... and got told to use AMD's instead. Ouch.

      In a sense, MS helped "create" Linux. At the anti-trust trial, MS used Linux as an example in their "we're not a monopoly, other people can still make good OS's" sophistry. It just told everyone what other OS they could use instead, if only it was more up to modern standards. And they just proceeded to help with bringing it there.

      At any rate, the short story is: most of the successful F/OSS is the work of corporations, and _of_ _course_ they want to be the next MS. Or at least to take some market share from MS. And _of_ _course_ they'd like to make a profit (indirectly) out of it. That's the whole _point_ of bothering with it.

      E.g., Sun isn't developping OOo because it just likes making cool software. It's because at some point people were saying, basically, "Yeah, well, but your workstations don't run MS Word." If the software they pay big bucks for doesn't address that problem, they might as well fire that team and move on.


  • by AKAImBatman (238306) * <> on Wednesday April 25, 2007 @12:29AM (#18865917) Homepage Journal
    The problem isn't the choice, it's the follow-through. Open Source software maintains its momentum as long as there is an itch to scratch. As soon as that itch is satisfied, the work stops. Even if the code is unsuitable for your average joe. Technically, this is where the commercial distributions are supposed to pick up the slack and do the rest of the work. You know, offer an integrated Linux environment. Something to make all that money we're throwing at them worth something. But they don't. And I have no idea why.

    Perhaps the most telling event was when I got a copy of Sun's Java Desktop System. It was a complete SUSE-based distro with Sun's unified desktop on top of it. I forget what the exact problem was, but in order to change a *BASIC* system setting, the instructions required that I directly edit a system file.

    Excuse me?

    This little gaffe was repeated by Mandrake with its command-line audio setup. RedHat with its inability to automatically handle its own damn package format. So on and so forth. I forget how many times integrated tools should have existed, and... well... didn't. I won't even get into the "broken by design" GUI choices of GNOME.

    Now Ubuntu has been slowly trying to push this back; to make Linux a bit more user-friendly. But it's just one distro among many. There needs to be a concerted effort from all companies that SELL Linux. They need to give as good of an experience as they can possibly give. Simply repackaging the same software with a new GUI theme isn't going to cut it. They need to actually spend some money on covering the gaps that the unpaid community isn't going to cover. (I mean, let's be reasonable. They're not getting paid to develop a boring dialog and test flipping the switch 300 different ways.)

    The development tools themselves are fine. In fact, Java is pretty well covered by Eclipse and Netbeans. If Linux distros make more of an effort to integrate the (now OPEN SOURCE!) Java into the system, they can make developer's lives even easier. Mono is also an acceptable choice, but the key thing is to get it integrated. Make your commercial Operating Systems FEEL like commercial Operating Systems. Not hobby OSes that have a nice coat of paint on them. In other words, maybe you commercial guys could pull your weight a little? Maybe?

    * Ok, you can start flaming me now. I'm sure I've said something that offends distro X fanboys. Bring it on so I can ignore it. :-/
    • This always seems to assume that all those using open source operating systems are interested in GUIs. My old job was running a small ISP, so I could care less about GUIs, Java, Mono or anything else of that nature. I was building routers, firewalls and mail proxy servers, and I picked the distro that I was the most comfortable with and delivered what I wanted with relative ease. In this case it was Slackware, because I could download a kernel and with little or no effort get it up and running on my Slac
      • Re: (Score:2, Insightful)

        by Tablizer (95088)
        The point I'm trying to make is that I like the choice. I like that I could use FreeBSD for my Postfix server but Slackware with a custom kernel for my routing and firewall needs. I liked that I could create the tools I needed rather than having to work with the very fixed monoculture that is Windows and its networking tools. I like that I could build streamlined servers that didn't possess a whole bunch of shit that has absolutely nothing to do with what I am doing.

        You assume that everyone else likes wha
    • The people paying money for commercial Linux distributions aren't Uncle Ed and Aunt Martha. They're corporate or government IT departments, and they don't need every setting available to the GUI.

      What you want requires a commercial distribution target for pre install on low end consumer grade equipment. Even ignoring the Microsoft tax, such a proposition is a bit shakey, financially.
    • by nametaken (610866)
      You've struck on a few things there that I've been thinking for a long time.

      I would happily spend money on a solid linux distro that does what I want it to. In fact, I'd pay a premium over the competing version of Windows. The problem is that for that money I expect it to, as you said, feel like a commercial OS.

      I'd really like to see better development environments (eclipse makes me want to wretch, netbeans is pretty slick). I suppose I'd consider java again if we can get everyone off of blackdown and on
    • "The problem isn't the choice, it's the follow-through."

      I'm not disagreeing with your post. I will however try a somewhat different angle with little or no opinion as to MS functionality.

      The problem isn't the choice, it's the research involved in trying to make an educated decision and then make a transition. I say make a transition because the fact of the matter is that MS rules. MS-centric is easy. You are a MS OS and app shop or you are not. It is easy to choose MS server and workstation OS, MS Offi
    • Re: (Score:3, Insightful)

      by Burz (138833)
      Its enough to make someone go back to basics on their C64 ;-)

      Seriously, I appreciate and agree with your comments. But more than that, the fact is that FOSS vendors do not promote a default modern development environment that budding application developers would appreciate. Its all geared toward system-level developers (which probably explains why our applications are managed in centralized repositories as if they were just another part of the OS).

      Its all terribly backward when applied to the personal compu
  • by Sancho (17056) on Wednesday April 25, 2007 @12:29AM (#18865921) Homepage

    We celebrate the diversity of choices available to solve a problem and call it freedom. IT managers and CIOs look at it and call it chaos, confusion and uncertainty.
    That's a pretty solid difference between the two, and honestly, I think it's probably a good point. Linux desktops compete with other Linux desktops. Gnome competes with KDE. It's still choice, and I still like choice, but fragmentation and a hundred different ways of doing things makes it hard to find the information you're looking for online, makes it hard to support (Helpdesk workers complain about having to support more than 3 versions of Windows!), and makes it hard for the user to choose.
    • by Coryoth (254751) on Wednesday April 25, 2007 @01:04AM (#18866223) Homepage Journal

      fragmentation and a hundred different ways of doing things makes it hard to find the information you're looking for online, makes it hard to support (Helpdesk workers complain about having to support more than 3 versions of Windows!), and makes it hard for the user to choose.
      Right now the choice in Linux seems to be vast and confusing because Linux in general is a niche system, so all the different choices are all equally niche options. As Linux slowly gains popularity (and it will -- if nothing else it is imporving faster than Windows: compare Windows 98 with Redhat 5.2, then compare Windows Vista with Ubuntu 7.04) you won't find the vast array of options all gaining equally from the influx of users. Ultimately, despite the vast array of distributions, only a very small handful (probably 2 or 3 at most) will gain any significant share. For most people Linux will simply be whatever the most popular of those 2 or 3 distros turns out to be. There won't be a plethora of choice, there'll be one distro that everyone you know uses, and then a whole bunch of other niche Linux stuff that only the geeks care about. The same will happen with desktop environments and development libraries: at most 2 options will be supportable as mainstream choices and the rest will be firmly relegated to small niche options -- they'll still be at least as popular as they are now, they will just be completely eclipsed by the increased popularity of the 1 or 2 winners.

      Once all of that happens you'll find that, for almost any average user, there is 1 or at most 2 ways of doign things, and all the information online that is easy to find is all relevant to you. Support will be for the 1 or 2 most popular distributions, which will have very standardised configurations that everyone uses. Sure, the hundred different ways of doing things will still exist, and anyone geeky enough to mess with them will find that things are little different than they are now -- its just that most people who aren't interested will never even be aware of all of that. In the same way that most average Windows users are only dimly aware of Linux as a small niche player, eventually we'll reach a point where most average Linux users are only dimly aware of other distros as small niche players. Nothing changes for us geeks, and nothing changes for average users (except the OS they consider "standard").
  • by xenocide2 (231786) on Wednesday April 25, 2007 @12:32AM (#18865959) Homepage
    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.
    • Re: (Score:2, Insightful)

      by casings (257363) *
      While I agree with your point, these points are more or less choices made during the design of a program or platform and are made either depending on the project or the company. I believe the article is referring to not only these standard design choices, but also the fact that there are literally infinite numbers of configurations using open source software which go beyond simple design choices, and which most firms want some kind of standard over.

      AFAIK, managers don't want to have to spend the time making
  • by linguae (763922) on Wednesday April 25, 2007 @12:45AM (#18866067) not because open source offers too many choices. After all, Microsoft's products are still a choice among many other solutions. The reason why much of us still use Microsoft software (to be more specific, Windows, Office, and programming environments related to those two products) is because of a few reasons:

    1. Microsoft Windows is simply where the user base is; hence, software is prioritized to be written for Windows. For example, I recently had to buy Windows XP to install on my MacBook because my statistics class required the use of Minitab for its assignments, where no OS X or Linux version exist. AutoCad, a popular engineering tool, is also Windows only.
    2. People are comfortable with Microsoft products, and don't feel like switching to alternatives, even if the alternative is technologically superior or can improve their productivity. Why don't they switch? Well, many people figured that they've invested a lot of time learning a product, and they don't want to spend that same amount of time learning an alternative. As much as we geeks wish otherwise, not everybody is very interested in the tools that they use.

    Microsoft alternatives do have their merits. To use operating systems as an example, OS X is a great general purpose OS, and I love the customizability of open-source OSes such as Linux and BSD. However, most software is written for Windows (you're guaranteed to find a Windows software package for almost anything, whereas you'll have to search harder when using an alternate platform), and if you have a Windows problem, somebody will know how to fix it.

    I admit, I'm not the biggest fan of Microsoft. However, most of us can't avoid their software, like it or not. After nearly a year of not having a Windows machine, I installed a Windows partition to do class assignments. I don't like Windows, but I need to do what is necessary to complete the assignment. For some people, replace assignment with job and add "to pay the bills."

    I don't think MS's monopoly will last forever. But, for now, expect to be still using Windows and other Microsoft solutions. When you are in a lion's mouth, wiggle until you wiggle yourself out.

  • by Synn (6288) on Wednesday April 25, 2007 @12:47AM (#18866085)
    This is why there is only 1 car manufacturer. 1 brand of soda, shoes, toothe paste and so on.

    Consumers would get confused if they had to choose from 15 different versions of laundry detergent, so we only have Tide.
    • by heinousjay (683506) on Wednesday April 25, 2007 @01:01AM (#18866201) Journal
      It doesn't require much investment of time to learn the differences involved in dispensing laundry detergent. They are effectively drop in replacements replacements for each other, from a user's perspective.

      As are all your examples, actually. The differences lie in taste, not capability.

      You've basically demonstrated that you don't get the point in the article at all. I guess that is why this keeps getting posted, over and over again. It's the sledgehammer technique.
    • I was about to invent a "if different laundry detergents only worked on some washers" kind of analogy, but the point is better made by observing that software has a lot of interdependencies that aren't reflected by comparison to things like washing detergent.
  • Lifetime Lock-in? (Score:3, Interesting)

    by MrSteveSD (801820) on Wednesday April 25, 2007 @12:51AM (#18866129)

    Why does Microsoft win the development environment war so often, when we all know it's a lifetime lock-in

    It's not a lifetime lock-in when they discontinue your entire development environment and language. Yep, by discontinuing the VB6 language they saved us from that terrible lock-in. Now we are free to re-type those millions of lines of code (and years of effort) in another language on any platform we like. How thoughtful of them.
  • Spooky (Score:2, Informative)

    by Rorian (88503)
    I was thinking about all of this just yesterday - At work I develop code almost entirely in Visual Studio (98, 2k3 and 2k5) with a little netbeans on the side when I have to deal with Java. I installed Ubuntu 7.04 on the weekend (haven't used Linux in a while, thought I'd have another play). Now I have KDevelop, Eclipse, GCC+Vi, GDB, DDD, KDB, and about 15 other tools that all provide portions of what MS VS wraps up in one neat package, and none of them do it with half the quality. Eclipse is not bad, bu
  • monoculture bad (Score:4, Insightful)

    by bugi (8479) on Wednesday April 25, 2007 @12:53AM (#18866141)
    Keep in mind that monoculture has disadvantages too.

    Variety, for example, is necessary for adaptation, creativity and resistance to disease.
  • Thanks, we know (Score:5, Insightful)

    by The Bungi (221687) <> on Wednesday April 25, 2007 @12:54AM (#18866163) Homepage
    From TFA:

    Guess what? Microsoft has a pretty good development suite on their hands. To be honest, C# is largely what I'd do if I could rewrite Java from scratch with no concerns for backward compatibility. It has a couple of really cool features, like the virtual, override and new keywords that let you specify what should happen when you cast a class to it's base class and then call a method on it that's defined in both.

    Guess what? We all know that. We've tried Eclipse and KDevelop and Glade all your other tools. You have pretty cool languages but you insist on keeping your barriers artificially high by forcing a primitive toolset on everyone so that only the anointed few can develop software for your platform.

    Of course one of the core problems is someone like this, who from the article seems like the quintessential "Microsoft sux" type-A personality suddenly realizes that Microsoft (and Borland and others) have been writing far superior development tools for the past ten years that actually increase developer productivity and having great success at it. What an idea! Having to learn 14 different tools to get something done might be good for bragging and leetness, but they kill productivity. In the real world, that kills the deal.

    Imagine what kind of killer product you would have if you paired Ruby with a good IDE and a good graphical debugger. Or Python. A good front-end to MySQL that's actually easy to use. Or an admin tool for Apache that makes sense. But "ease of use" is not "leet", so no dice. "We don't want VB in Linux". That's a great attitude, and it will continue to perpetuate the idea that Windows is the only "easy" platform to write software in, with Microsoft tools. There's no reality distortion field here - that's just the truth.

    So much potential wasted because of a culture that idolizes unecessary complexity as if it were a badge of honor.

    • Re:Thanks, we know (Score:5, Insightful)

      by mattgreen (701203) on Wednesday April 25, 2007 @01:06AM (#18866245)
      Well put. You see blowhards on here who insist that Linux should be hard to use, because, damn it, it was hard for them to learn it. Or some tripe about how computers should require a license to use. And it amuses me when I inquire why OSS alternatives have a hard time parsing C++ for autocomplete: "it's hard to do." Cry me a river, of course it is. I thought the many eyes of open source could solve *any* problem? In reality, nobody wants to, so it stays in a state below half-assed. Visual Studio limps on by and at least gets right enough to be useful.

      Visual Studio is far from perfect, but for a tool that I used day in and day out, I don't have many complaints overall. How many programs can you really say that about?
    • by pembo13 (770295)
      The only IDE on Windows that I prefer to KDevelop is Borland Delphi. BTW, have you tried the official MySQL front end? Also, why are you confusing ease of use with ease of development?
    • Re: (Score:3, Informative)

      by Llywelyn (531070)

      Imagine what kind of killer product you would have if you paired Ruby with a good IDE and a good graphical debugger. Or Python.

      Eclipse w/ PyDev is fairly killer and not difficult to set up. Objective-C w/ XCode and Interface Builder is also very nice to work with.

    • Re: (Score:3, Insightful)

      by MechaBlue (1068636)
      C#.NET is wonderful, far better than Java.
      - Exception handling is much better. Rather than having the compiler complain when I forget to handle an exception, it encourages me to wade through many pages of docmentation and manually trace it.
      - Generics have a great naming convention. Instead of being able to remember 1 name and interface for a class, I need to know 2. It even encourages me to learn both by forcing me to modify sizeable portions of the code when moving from non-generics to generics.
      - The do
  • Maybe (Score:3, Interesting)

    by Timesprout (579035) on Wednesday April 25, 2007 @12:55AM (#18866165)
    Just maybe its that until quite recently the Microsoft development environment was vastly superior to anything being offered by the Open Source community. There were quality development and debugging environments from MS and Borland. More dev editors than you could shake a stick at. There was easy integration with multiple databases and it was easy to develop slick front ends to this data. There was tooling availabe for easy project management and application testing.

    Maybe Microsoft actually copped on to the fact that businesses wanted tools to build the apps they needed while the Open Source community were patting themselves on the back about how cool and fantastically leet they were for having text editors and shell scripts.

    Whats interesting is that the two current leading Java Open Source IDEs (Eclipse and Netbeans) are both tools which started out life intended as commercial offerings but were donated to the community by IBM and SUN.
  • The author of the article shoots himself in the foot here:

    Should I use iBatis or Hibernate? XFire or AXIS? Perl, PHP or Ruby? Debian, Fedora, Ubuntu or Suse? Make the wrong decision, and you can waste a ton of time, as we found out on a recent project when we wasted a week try to make AXIS2 work for a web service project, only to find out that XFire was the right choice.

    So by his own admission, XFire and AXIS don't compete with each other directly - they're different tools for different jobs.

    The solution to

  • This is dumb (Score:2, Insightful)

    by Tim_UWA (1015591)
    So what if I have a choice between, abiword or LaTeX to produce my documents? As long as I save it as a PDF, anyone can read it. If I use Microsoft Word, I either install a 3rd party program to save it as a PDF, or require that the people I send the document to have the same version of Word as me, running on the same platform. Disclaimer: I didnt' read the article.
  • by davmoo (63521) on Wednesday April 25, 2007 @01:27AM (#18866385)
    A major problem, in my opinion, that a lot of open source products have is the lack of decent documentation. Everyone wants to code, no one wants to document. I'd be here all day if I tried to list all the open source products I've looked at and tried that I gave up on simply because there was no documentation, or only poor documentation, and I had to move to something commercial that was at least properly documented.

    And before someone drags out the dead horse named "why don't you document some of these projects", the answer is I can't document something I can't figure out how to use. And as others have already pointed out, a lot of open source software is not intuitive.
  • Apache vs IIS (Score:5, Insightful)

    by RalphTheWonderLlama (927434) on Wednesday April 25, 2007 @01:31AM (#18866409) Homepage
    I prefer Apache since it's free but....

    This goes for virtually every non-default configuration of Apache and IIS but here are a couple examples.

    Allowing only certain IP addresses to access a website:
    Apache -
    1. Research on the web how this is done using Google.
    2. Find something called "mod_authz_host" and an example of its use here t.html [] .
    3. Get confused by all the different examples.
    4. Attempt to insert "code" into httpd.conf to limit access to certain IP addresses.
    5. Test to see if it worked.
    6. Research, edit, test more as needed.

    IIS -
    1. Click a few buttons
    2. Enter IP addresses allowed.
    3. Test (it works first try as expected since editing was intuitive).

    Use SSL:
    Apache -
    1. Research on the web how this is done using Google (lots of research).
    2. Install something called OpenSSL
    3. Copy a few files to a windows directory
    4. Find an openssl.cnf file that doesn't exist with the OpenSSL install for some reason.
    5. Create a SSL certificate using command line.
    6. Due to legal/political constraints, download a different copy of Apache with SSL from a strange 3rd party website and replace current copy of Apache that you had installed.
    7. Make several changes to httpd.conf file.
    8. Install this new Apache as a service using command line if needed.
    9. Make several more changes to httpd.conf file (uncommenting LoadModule line, including ssl.conf in an IfModule thing).
    10. Copy the certificate files made earlier to an Apache directory.
    11. Edit ssl.conf file on several lines to identify server name, document root directory, then also include the certificate path.
    12. Restart Apache, pray it works.

    IIS -
    1. Go to website properties using GUI
    2. Click Directory Security tab
    3. Click Server Certificate
    4. Follow Web Server Certificate Wizard to create certificate.

    For extra credit, require SSL connection - In Directory Security tab, Secure Communication area, click Edit, and check the Require secure channel SSL checkbox. I gave up on that for Apache and figured out some way to just forward requests to https (a bit of a hack it seems).

    Things just seem more intuitive when using IIS rather than editing conf files and hoping things work in Apache. There is a lot less frustration. It's a shame. Yes I did look for 3rd party Apache config GUIs and couldn't find anything that looked good.
    • Re: (Score:3, Insightful)

      by dodobh (65811)
      There is Webmin as a GUI for Apache.

      On the other hand, once you have things working:

      Commit Apache config to SVN. Put common config in one file, per virtual host configs in their own files.
      Checkout config(s) on new box, with automatic merging of base and per virtual host configs.
      Reliably roll out the same configuration multiple times, across host upgrades, reinstalls and datacentre moves.

      Do the same thing for every service you run. One host? Ten? A hundred? A thousand? ...

      The end result of the difference bet
    • Re: (Score:3, Insightful)

      by hey (83763)
      Lets say you have a virtual host on your Apache box and you want to clone it with minor mods.
      Easy... cut'n'paste in the config file. But on IIS... I wouldn't know where to begin.
    • Re:Apache vs IIS (Score:5, Insightful)

      by AlexTurner (1093041) on Wednesday April 25, 2007 @06:12AM (#18867943)
      I have run both IIS and Apache. 100% correct,IIS is easier to set up. However, it has proven very much harder indeed to make it 'bomb proof'. There is a critical difference between open source and close source that we seem to be missing here. If you write open source, people can see your source code. If the code is for a mission critical component (like a web server) then people are _really_ going to care that it is well written!

      I have a motto about the differences in systems running on Linux (or FreeBSD etc) and Windows. On the xnix platforms, it takes days to set up and it runs for years without crashing. On Windows it takes minutes to set up and runs for hours without crashing.

      Oh - and one other little point. It is very interesting to see the word 'monoculture'. One of the major challenges for farmers when they grown monocultures is preventing the spread of disease (like viruses) because lack of differentiation of species makes it so easy for disease agents to spread. Sound familiar?

      Up to Vista, I found Windows best for home and business functions. Linux/FreeBSD was best for 24/7 servers. Now I thin ubuntu has taken the lead for the home as well. But the barrier for the business systems is much much higher, the alternatives will really have to pull their socks up if they are interested in entering the market in a large way.

      AJ [|| twitter/AlexTurner]

    • Re: (Score:3, Insightful)

      by DaleGlass (1068434)
      I dread working with MS GUIs. Everything has 20 tabs, sometimes pops up extra windows and requires half an hour of clicking. It's not possible to figure out what the full current config is without clicking everywhere. Then there's my favourite annoyance: Fixed size windows with list views that sometimes require scrolling to see all the information in them.

      Take for instance setting up a DHCP server.
      Task: Switch 100 hosts from static IP address to DHCP, configured to give them the same address they currently
  • Won't be long now. (Score:3, Insightful)

    by Bluesman (104513) on Wednesday April 25, 2007 @01:36AM (#18866451) Homepage
    The writing is on the wall for Microsoft. Sure, they've had the developers in the past, but I think it's only a matter of time before they jump ship.

    Lots of people aren't too happy with Vista, and OS/X, Linux, and BSD are gaining ground.

    The keys to the kingdom are backward compatibility, always an MS strong point. But the open-source community has this nailed -- the POSIX API's are over thirty years old, and won't change. It's only a matter of time before Microsoft changes just enough so that developers can't rely on them to be rock-solid anymore, and there will be a mass exodus.

    It will start with specialized apps like video and audio editing software (already happened to some extent) and gradually will work its way through the entire business suite of tools.

    Some years ago, I offered to write a Postgresql database app for a small business. They refused, saying they wanted to use SQL Server, even if it was more expensive, since "Microsoft isn't going anywhere anytime soon."

    Today, I doubt there would be that same certainty. Ten years from now, I expect the tables will have completely turned, with Linux based apps seen as the "old reliables" that never go away.

  • by Russ Nelson (33911) <> on Wednesday April 25, 2007 @01:38AM (#18866457) Homepage
    Oh, god, what bullshit is this! Choice is not a problem! If choice was really a problem, then somebody would create a Linux distro with no choices. "Sit down, shut up, and run the software we choose". Except, nobody does that because nobody wants that.

    The whole "choice is bad" meme is complete and utter nonsense. tz-master-chooser.html []
  • by Billly Gates (198444) on Wednesday April 25, 2007 @03:01AM (#18867041) Journal
    Which development environment offers the best integration with MS products? Surprise its visual studio.

    If you have a windows shop your stuck with it. Borlands tools do not include things like the VBA for office.
  • by cheros (223479) on Wednesday April 25, 2007 @04:30AM (#18867471)
    I'm not convinced the article provides a solid basis for blaming choice as a problem.

    I have yet to see people try to find a new toolset every time they build a platform. Usually, an IT shop decided on which tools it will use to do the job (including which hardware, code language and dev framework) and will stick with that choice, simply because that's where their expertise lies. Only when the toolset is not up to the job or there is a simpler/better way to address the task at hand will there be a re-examination and/or switch, and such changes are in both environments (Win/FOSS) also driven by the people doing the job doing the usual looking around for ideas and products - that's simply part of the work (did I just argue that Slashdot reading is essential? Yes! :-)).

    After that it's learning how to maximise your use of the toolset and work around the problems with it, and that tends to result in some branching out from the default platform as well. Do MS shows only use 100% MS code? IF SM had their way, sure, but life's not like that. The only difference with an MS shop is that experimenting doesn't immediately cost license fees and instantly creates the risk of a FAST visit being successful, but that too is an issue hat can be managed.

    So this 'choice' is a starting issue, not a live ops issue.

    The challenge of a monoculture is not that it's mono, it's about who controls the direction. An MS monoculture doesn't really to be driven by user need, witness the heap of crap that is Vista, and the total mess they made of the different versions of .Net. From an IT strategy point of view you're better off with a direction that YOU set, not the vendor. Not only is it cheaper, it's also less driven by a vendor's need to flog new products.

    At that point you can start asking questions about true business benefits and TCO.

  • by petrus4 (213815) on Wednesday April 25, 2007 @04:30AM (#18867475) Homepage Journal
    I watched V for Vendetta again last night, and was reading some related material online afterwards. It introduced me to a couple of ideas which although I'd more or less known about instinctively, I possibly hadn't considered from quite that perspective. This is going to appear to be offtopic at first, but bear with me and you'll see the point as it relates to the issue of choice with Linux.

    From what I've read, the central element of anarchic thought is apparently the idea of a scenario where people are genuinely self-responsible; where people are able to make decisions and choices about everything they do, and where it can be at least hoped that the need for an external authority is mitigated by said people having an internalised system of morality. In other words, the idea being while they are able to choose to do whatever they like, that people will eventually figure out what they are meant to do on their own.

    However we keep seeing (no doubt unfortunately in the minds of some of us) that the above scenario, not only where Linux is concerned but in every other area of their lives, is overwhelmingly not what the vast majority of people truly want. I've found myself reading quotes from both Freud and George Bernard Shaw over the last 24 hours that stated that contrary to the commonly held belief, the majority genuinely do not want freedom, precisely because a prerequisite of freedom is self-responsibility.

    This of course is where not only Microsoft in the case of software, but repressive states of all kinds in general life come into the picture. As V said, they offer order, certainty, stability, an absence of chaos, and most importantly, an absence from the need for a person to think for themselves, and all they ask in return is silent, obedient consent. They give people a scenario where decisions are made for them, where no thought whatsoever is necessary, nor responsibility taken for wrong decisions. As the old saying goes, "Nobody ever got fired for buying from IBM."

    This is what people overwhelmingly want; what they are trained from the earliest age to want. National governments use the education system these days in order to start negative reinforcement against the exercise of free will within individuals as early as possible, and if such is instilled deeply enough and early enough, the process produces individuals who refrain from exercising choice as much as possible for the rest of their lives thereafter.

    If you're wondering why people continue to want Windows over Linux, and continue to complain about the degree of choice inherent in Linux, you might perhaps also want to ask why people are also willing to allow the likes of George W. Bush and Tony Blair to remain in political office. The answer to both questions is the same, for they are in truth both different elements of the same issue; an insistence on avoiding self-responsibility and reasoned, conscious thought within the majority of the population.

    How can Linux advocates overcome such, I hear you ask? Instilling independence in those who do not have it already is by necessity an incredibly slow and transitional process. In the case of someone complaining about being overwhelmed by choice, I'd probably start by asking them what it is that they as individuals want to do with a computer, and then direct their attention to a single distribution (or possibly even Windows itself, if appropriate) which will meet their needs. I've tended to notice that people aren't normally wanting a reduction of choice for people other than themselves, when they are asked, but merely want a scenario where they do not need to engage in it. Hence, if they find something which will meet their own requirements, they will very often cease to complain.

    Some individuals are inherently lacking initiative and crave situations where they are taken care of by external parties. Sadly, there isn't much any of us can do in the case of such individuals, other than hand them a copy of Ubuntu or Vista, and a smile. Although I fall into the trap myself on here fairly regularly, I also try and tell myself that such people are not worth getting upset over, since they are a reality that we cannot change anyway.
  • by Colin Smith (2679) on Wednesday April 25, 2007 @04:50AM (#18867581)
    What he's really talking about is the Network Effect [], but doesn't seem to realise. The Network effect is why we speak national languages instead of reegional ones, why some form of English is ultimately going to replace all others, why TCP/IP is the only protocol our machines talk now. Why all keyboards are querty. Why we use the same currencies, why we all drive on the same side of the road. There is utility in all things being the same.

    It also applies to user interfaces, libraries, operating systems etc but to a much weaker level. This simply means that it takes longer for the users of the various interfaces, libraries, development tools to converge on the same solution. The need can't particularly great because if it was, the convergence would be happening far quicker. It'll happen over time in the Linux environment, in the meantime, the market is going through the various Linux softwares and choosing the one which fits their needs best.

  • I'd like to know (Score:3, Insightful)

    by epine (68316) on Wednesday April 25, 2007 @06:01AM (#18867905)

    If only I could get a look at the user-agent strings to see how many of the "all praise consistency" crowd have posted their comments under Firefox. Those of you who did should feel a small twinge of moral ambiguity the next time you open a page under tabbed browsing. Microsoft only came out with tabbed browsing when choice put their back to the wall. I was reading the other day that ninety odd percent of the world's food production is confined to twenty odd species of plant and animal. While we're on the subject of restricting choice for the greater good, I hear that arranged marriage offers many practical efficiencies.
  • Definitely (Score:3, Interesting)

    by NekoXP (67564) on Wednesday April 25, 2007 @06:02AM (#18867913) Homepage
    Simply put, he's right in a way. After all, developing software for an environment you choose, means anyone who didn't choose your environment who wants to run your software has to switch, or install more software, and deal with the problems possibly associated with such a thing.

    Remember when KDE, GNOME, Xfce and Enlightenment didn't share a desktop API? Look now at how Enlightenment reinvents everything using it's own special libraries? While Enlightenment has some distinct advantages over the way the others are designed, it is a DIFFERENT system. Want to install a GNOME core application on KDE? Well, you have to drag in most of GNOME, still. The same in reverse. Install Enlightenment tools on top? Well you have to drag in the rest of the E17 framework.

    Install X on my system, and it still pulls in 5 different sound daemons.. yikes, and yikes again. Xine, MPlayer and GStreamer/Totem too. They all use the same libraries after all, but do I need 3 different ways to play a movie?

    I personally prefer GNOME and Xfce if only because they use the same GTK toolkit - however I personally loathe GTK and the GTK API. I don't want to even get started in Enlightenment.

    So, when you sit down and use Windows, what do you do? Well, you're pretty much stuck using Windows. And for all intents and purposes, there is a strict set of toolkits and APIs they provide for you (DLL hell wipes that off the map though). There is no "which API do I use to open a window and add a button" if you are using VisualC++ and reading the documentation, it will pretty much railroad you into one choice. But there ARE other choices.. they are just less obvious and less relevant.

    I think this is why I like the concept of RAD stuff like Ruby On Rails, however I do hate Ruby, and Python, and I never got into Perl in a big way, and while I'm stuck with PHP, it's because it's closer to C++, which I absolutely love. If I had a choice I'd be coding everything in C++, with a single toolkit, but unfortunately because everyone else makes other choices, I can't.

    Does my life deserve to be made this difficult by virtue of the freedom of choice? Probably ;D
  • by jimstapleton (999106) on Wednesday April 25, 2007 @08:12AM (#18868577) Journal
    I thought Apple had fewer software options for most tasks than Windows, at least it has always seemed that way to me.

    Likewise, BSD has fewer software options for most tasks than Linux since it has less development, so why does Linux take the OSS business market instead of BSD?

    Note: I don't intend this as a flame at all, I like one of the OSes that this says should do good based on the logic, and I don't like the other. I like one of the OSes that looks like it should be bad in this comparison, and I don't like the other. I'm just saying the arguments logic doesn't seem to add up to me.
  • by massysett (910130) on Wednesday April 25, 2007 @09:28AM (#18869329) Homepage
    Linux has lots of monocultures--pieces of software that have become mostly standard:

    * the Linux kernel (rather than, say, the Hurd)
    * (rather than XFree86, which is now dead)
    * bash (rather than ksh, csh, tcsh, or my favorite, fish)
    * Apache (I had to look at Wikipedia to see if alternatives even exist)
    * MythTV (any other Linux PVRs?)
    * GCC, and for that matter, most GNU tools

    Perhaps usage standardizes on one piece of software when that benefits people, but usage fragments when there are benefits to choice. Doesn't seem like a problem.
  • by mkcmkc (197982) on Wednesday April 25, 2007 @10:27AM (#18870211)
    In my experience, nothing makes a monoculturist IT manager happier than being able to reply to some big ugly request for services with a simple

    Sorry, but Microsoft doesn't do that.
    And in many bureaucratic environments, that's the end of the story.
  • by CopaceticOpus (965603) on Wednesday April 25, 2007 @11:03AM (#18870695)
    The problem is not the existence of too many choices. The choices should be out there for those who need them, but they should also be transparent for those who don't need them. This is one reason Ubuntu has proven to be so user-friendly. It makes many choices for you by default, which are good choices for most users. It doesn't force users to think about choices that they don't really care about anyway.

    On the other hand, I think that open source development often wastes much of its potential by creating too many varieties of products. I have a dozen video players installed on my system, and I'm still searching for a good one. There might be a good one available if the development work hadn't been repeated across so many similar products.

The more cordial the buyer's secretary, the greater the odds that the competition already has the order.