Slashdot Mirror


Virtues of Monoculture, Or Why Microsoft Wins

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

12 of 703 comments (clear)

  1. Choice Wins by xzvf · · Score: 5, Insightful

    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.

  2. Hmm by pembo13 · · Score: 5, Insightful

    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.

    --
    "Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
  3. It's not the choice by AKAImBatman · · Score: 5, Insightful

    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. :-/

  4. Re:FAQ item by Anonymous Coward · · Score: 5, Insightful

    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.

  5. Thanks, we know by The+Bungi · · Score: 5, Insightful
    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.

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

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

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

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

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

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

  7. Apache vs IIS by RalphTheWonderLlama · · Score: 5, Insightful

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

    --
    simple, fast homepage with your links: http://www.ngumbi.com/
    1. Re:Apache vs IIS by AlexTurner · · Score: 5, Insightful

      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]

  8. Re:FAQ item by chromatic · · Score: 5, Insightful

    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.

  9. I don't get it --why not pick an arbitrary GUI? by KWTm · · Score: 5, Insightful

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

    --
    404555974007725459910684486621289147856453481154 in hex is "You sank my Battleship?"
    [GPG key in journal]
  10. Re:Things to learn from Windows and OSX. by eihab · · Score: 5, Insightful

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

    --
    If you can't mod them join them.
  11. Re:LMAO Non free finally wins. by analog_line · · Score: 5, Insightful

    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.