Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Virtues of Monoculture, Or Why Microsoft Wins

Posted by kdawson on Tue Apr 24, 2007 11:17 PM
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."
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • FAQ item (Score:5, Insightful)

    by Wonko the Sane (25252) * <wts42@yahoo.com> on Tuesday April 24 2007, @11:21PM (#18865843) Homepage 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 Tuesday April 24 2007, @11:40PM (#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) * <wts42@yahoo.com> on Tuesday April 24 2007, @11:49PM (#18866099) Homepage 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, @12: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.

          • by KWTm (808824) on Wednesday April 25 2007, @02: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 OpenOffice.org), 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."
          • by vdboor (827057) on Wednesday April 25 2007, @07: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 [wikipedia.org] 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 [trolltech.com]). 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.
            • by BlueTrin (683373) on Wednesday April 25 2007, @01:49AM (#18866965) Homepage Journal
              You would then target a fraction of a smaller customer base.
            • by eihab (823648) on Wednesday April 25 2007, @03: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 :)
              • 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, @09: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.

            • by dosquatch (924618) on Wednesday April 25 2007, @07: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...

              • 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.
                • by SQLGuru (980662) on Wednesday April 25 2007, @06:56AM (#18868447)
                  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
            • by analog_line (465182) on Wednesday April 25 2007, @08:34AM (#18869423)

              apt-get install kdevelop


              Here you have two prime examples of "too much choice" in action.

              You're assuming that everyone uses an apt-get based package distribution method, and you just can't do that.

              You're also assuming KDE is there, and that's an even more flawed assumption.
                • good strategy (Score:4, Insightful)

                  by nightsweat (604367) on Wednesday April 25 2007, @09:38AM (#18870353)
                  Blame the user and tell him he's lazy for not understanding crap that just gets in the way of getting work done.

                  It's easier and more efficient to ask "paper or plastic" than to follow that up with "paper made from wood pulp or grasses?" "recycled wood pulp or all-new?" "paper from hardwood or from softwood?" "Made from trees from the Northern hemisphere or southern hemisphere?" "Bleached or natural?" "Logo printed on or blank?"

                  Sure, some people will want all these decisions, but they shouldn't be a requirement of the OS. Solve the Gnome/KDE nonsense and you'll see Linux propagate much more than it already is.
    • Re:FAQ item (Score:4, Insightful)

      by CokoBWare (584686) on Tuesday April 24 2007, @11:57PM (#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, @12:28AM (#18866389) Homepage
        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.
        • Re:FAQ item (Score:4, Insightful)

          by tftp (111690) on Wednesday April 25 2007, @01: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, @01: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.

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

        by JohnFluxx (413620) on Wednesday April 25 2007, @05: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 freedesktop.org.

        * 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 freedesktop.org icon naming system, and mimetype system, and so on.

      • Re:I hears yah (Score:4, Insightful)

        by Wonko the Sane (25252) * <wts42@yahoo.com> on Tuesday April 24 2007, @11:56PM (#18866175) Homepage Journal
        "This one time, I tried to use a 1/2" socket wrench and wasted a bunch of time until I realized that I actually needed a 9/16" box end wrench"

        "Having this many different tools is too confusing. Instead of socket wrenches, box end wrenches, open-end wrenches and hammers, we should just use crescent wrenches for everything"
        • by bug1 (96678) on Wednesday April 25 2007, @01:10AM (#18866697)
          I went to bottle shop the other day to buy some beer, to my surprise they had 100 different types, i really enjoyed sampling them all at the time, but today i am sick and bloated.

          Just because you can have something doesnt mean you should.
  • de facto standards (Score:3, Interesting)

    by swordgeek (112599) on Tuesday April 24 2007, @11:25PM (#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.
  • Choice Wins (Score:5, Insightful)

    by xzvf (924443) on Tuesday April 24 2007, @11:28PM (#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, @12: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.
  • Hmm (Score:5, Insightful)

    by pembo13 (770295) on Tuesday April 24 2007, @11:28PM (#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.
    • by Moraelin (679338) on Wednesday April 25 2007, @02: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.

      E

  • 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. :-/
    • 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.
    • Re: (Score:3, Insightful)

      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
      • Re: (Score:3, Funny)

        by Anonymous Coward

        Sigh...

        It is idiotic posts like that the make us all dread these types of stories on Slashdot.

        Sigh...

        It is idiotic posts like this that make us all dread these types of stories on Slashdot.
  • by Sancho (17056) on Tuesday April 24 2007, @11:29PM (#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, @12: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 Tuesday April 24 2007, @11:32PM (#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.
  • by linguae (763922) on Tuesday April 24 2007, @11:45PM (#18866067)

    ...is 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 Tuesday April 24 2007, @11:47PM (#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, @12: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.
  • Lifetime Lock-in? (Score:3, Interesting)

    by MrSteveSD (801820) on Tuesday April 24 2007, @11:51PM (#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.
  • monoculture bad (Score:4, Insightful)

    by bugi (8479) on Tuesday April 24 2007, @11:53PM (#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) <thebungi@gmail.com> on Tuesday April 24 2007, @11:54PM (#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, @12: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?
  • Maybe (Score:3, Interesting)

    by Timesprout (579035) on Tuesday April 24 2007, @11:55PM (#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.
  • by davmoo (63521) on Wednesday April 25 2007, @12: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, @12: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 http://httpd.apache.org/docs/2.2/mod/mod_authz_hos t.html [apache.org] .
    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:Apache vs IIS (Score:5, Insightful)

      by AlexTurner (1093041) on Wednesday April 25 2007, @05: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 [www.nerds-central.com|nerds-central.blogspot.com| twitter/AlexTurner]

  • Won't be long now. (Score:3, Insightful)

    by Bluesman (104513) on Wednesday April 25 2007, @12: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, @12: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. http://angry-economist.russnelson.com/barry-schwar tz-master-chooser.html [russnelson.com]
  • by cheros (223479) on Wednesday April 25 2007, @03: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 mkcmkc (197982) on Wednesday April 25 2007, @09: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.