Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Programming Microsoft IT Technology

Virtues of Monoculture, Or Why Microsoft Wins 703

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.
  • As in (Score:2, Insightful)

    by sugarmotor ( 621907 ) on Wednesday April 25, 2007 @12:25AM (#18865875) Homepage
    As in - Why not limit the number of websites? Too much choice!
  • 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.
  • 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.
  • by AKAImBatman ( 238306 ) * <akaimbatman@gmaYEATSil.com minus poet> 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. :-/
  • 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.
  • 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.
  • de facto arguments (Score:2, Insightful)

    by Anonymous Coward on Wednesday April 25, 2007 @12:44AM (#18866061)
    "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 stable? Or is two and three a function of the programmer wielding the tool, and not the tool itself?
  • by linguae ( 763922 ) on Wednesday April 25, 2007 @12:45AM (#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.

  • I hears yah (Score:1, Insightful)

    by Anonymous Coward on Wednesday April 25, 2007 @12:46AM (#18866071)
    Saw the headline, immediately groaned "Oh God, not this sh*t again!" And I'm only an AC!

    Once again for the whole thread to follow: if having too many choices bothers you, then just pick one tool for each job at random, cling to it for life, and refuse to acknowledge that the others exist. After all, that's how a lot of you became Windows users back in 1995...
  • by casings ( 257363 ) * on Wednesday April 25, 2007 @12:47AM (#18866079)
    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 sure the environment is properly setup when that time could be used to make important design decisions.
  • 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.
  • 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 ) <thebungi@gmail.com> 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.

  • by Gregory Cox ( 997625 ) on Wednesday April 25, 2007 @12:56AM (#18866171)
    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 his problem is not to get rid of one of them, but to put something in the documentation for AXIS saying "If you're working on a web service project, you may be better off using XFire." The fact that an open source project is able to recommend another solution like this is a strength. In contrast, a company (in this case Microsoft) with a vested interest in promoting its own monoculture is unlikely to tell potential customers to go elsewhere.

    Conversely, if you have a choice of near-identical tools, any of which would be acceptable, why not just pick the one which is most popular at the time? This leaves you at the mercy of programming fads, but if you want a monoculture, you should expect that anyway.
  • Re:I hears yah (Score:4, Insightful)

    by Wonko the Sane ( 25252 ) * on Wednesday April 25, 2007 @12:56AM (#18866175) 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"
  • 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*
  • 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.
  • 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").
  • This is dumb (Score:2, Insightful)

    by Tim_UWA ( 1015591 ) on Wednesday April 25, 2007 @01:06AM (#18866235)
    So what if I have a choice between openoffice.org, 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.
  • 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 Rix ( 54095 ) on Wednesday April 25, 2007 @01:15AM (#18866303)
    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 Tablizer ( 95088 ) on Wednesday April 25, 2007 @01:25AM (#18866371) Journal
    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 what you do. My favorite tools fell out of style and don't really exist anymore. Thus, it doesn't matter what I like. It is what the majority likes that matter. MS might be mediocre, but at least it is consistent mediocre. When you step into a different MS shop, you don't see a custom-made OS built by some Lisp or Perl guru that you have to reverse engineer and learn. That takes too long. OSS needs more de-facto standards. Sometimes mediocre standards are better than great-but-uncommon tools. SQL has survived because it is a common good-enough standard, not because it is the best possible relational language.
       
  • 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.
  • by Anonymous Coward on Wednesday April 25, 2007 @01:30AM (#18866403)
    While I agree with "The problem isn't the choice, it's the follow-through." I'm going to slighly change the argument.

    I think there are two types of developers. Those that make "legos" and those that make "sculptures."

    The first type make rock solid building blocks. They want to solve problem x, or possibly problem set X. But avoid assembling the pieces (they are more powerful divided, think about how in Unix you are given a handful of command line tools and can build really cool shell scripts easily).

    A worse crime is assembling the pieces but doing a piss poor job and creating a tool that is neither powerful or simple (Microsoft's use of "Wizards" comes to mind, but there are plenty of open source tools that meet this criteria).

    Then the sculpters come along. They see these great tools, and assemble them really nicely, so that everyone can enjoy them. The problem is that there are very few talented sculpters out there, worse still, even if you know what a tool should look like, you may not be able to assemble it (well enough to be user-friendly anyway).

    The example of sculpters that is going through my head is Apple. For years they've been looking at other people's work and assembling it very nicely. Yet, in terms of creating legos how "innovative" is Apple? In my opinion, not very (relative to all the work they've done). But they are very innovative at putting the legos together.

    A good cathedral (monoculture) should look at the bazaar, and take the best stuff. While the bazaar should be left to explore new tools and ideas. Both have their place (yin and yang kinda thing).

    I will also join you in the praising of ubuntu on this front. I believe they are exactly what FLOSS needs.
  • 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 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.
  • by Osty ( 16825 ) on Wednesday April 25, 2007 @01:35AM (#18866437)

    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.

    If you're going to claim that you have to pay for everything on Windows, you probably ought to choose better examples.

    IDEs - visual studio, eclipse, netbeans, dev-c++, codewarrior, just to name a few I've used

    Visual Studio (Express versions), Eclipse, NetBeans, Dev-C++ -- all free

    The various .NET languages

    Again, free. You don't need anything but a text editor and the .NET SDK (free) to build .NET applications. Also, other languages like F# [microsoft.com] (variant of ML) and IronPython [codeplex.com] (uh ... Python on .NET) are free as well. In fact, IronPython is even open source.

    Databases

    SQL Server Express, PostgreSQL, MySQL, SQLite, all free. Sure, SQL Server (non-Express), Oracle, and db2 are not free, but Oracle and db2 are not free on Linux either.

    Webservers, IIS, apache, or something else?

    IIS is "free" (comes with the OS you paid for), and Apache is obviously free as well.

    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.

    They have the choice not to moan about Microsoft's vertically integrated toolset? Or they have the choice not to use Java?

    For independent or small developers, an integrated set of tools isn't really all that important (though nice). For a medium to large business, it's critical if you want to get anything done in a reasonable amount of time without reinventing the wheel over and over again. That toolset doesn't have to be Microsoft, but they do provide a compelling set of developer utilities (Visual Studio is easily one of the best IDEs available for any price, for example). That's what the article was getting at -- when it comes to developers, Microsoft Gets It(tm) (queue Ballmer's infamous "Developers developers developers" video here).

  • 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.
  • 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 ) <slashdot@russnelson.com> 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. http://angry-economist.russnelson.com/barry-schwar tz-master-chooser.html [russnelson.com]
  • by plasmacutter ( 901737 ) on Wednesday April 25, 2007 @01:39AM (#18866463)

    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 think he got the point perfectly.

    Os is also a difference in taste.

    I switched to linux from windows because it suited my taste, and to mac from linux because it suited my taste better.

    I don't see the difference.. an os is an os is an os.. theyre there to provide basic computer operation, filebrowsing, and a foundation from which to run specialized apps. all 3 of these choices (and many more) provide that functionality.

    They use different applications, but then again cars use different parts, different gas.

    Now if you want to argue it stems from the american mentality of "technology is for geeks so i dont want to do any of the legwork", that's another story, but his comparison was valid.

    i can take any x86 pc and "drop in" linux or bsd as a replacement (or osX if it's a mac).
  • by Burz ( 138833 ) on Wednesday April 25, 2007 @01:41AM (#18866477) Homepage Journal
    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 computing domain, because influential PC (incl. Wintel and Mac) users expect a clearly-defined platform that encourages the installation and development of third-party products.

    Windows has Visual Studio + MSDN as a default choice for developers.

    OS X has Xcode + ADC as a default choice as well.

    "Linux" (or LSB or whatever distro like RedHat) has...... ?

    Right now, FOSS mostly gets major applications that were developed commercially for Windows then ported to Unix for niche appeal before being pushed out of the proprietary market. The home-grown Linux apps tend to have many shortcomings that, IMO, stem from a system programmers trying to scratch the application itch while not really knowing what they're doing... many are trying to fill a void that application programmers won't go near because the latter can't identify a clearly defined and promoted development platform. Also, the former collectively look down their noses at the latter quite intently.

    So outside of the systems development sphere, the other important players in the "Desktop Linux" game - end users and application developers - are not seeing a consistent and easily identifiable platform.
  • 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:Hmm (Score:3, Insightful)

    by tftp ( 111690 ) on Wednesday April 25, 2007 @02:11AM (#18866707) Homepage
    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 example, just works for most of the people. You install it, and you are in business. That's good. On the other hand, take LaTeX - it can do things that you'd have to struggle with in MS Word, but you also must be a rocket scientist (or a mathematician, which is the same) to use LaTeX. That is seen as seriously ungood.

  • by Kristoph ( 242780 ) on Wednesday April 25, 2007 @02:30AM (#18866823)
    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 you may need.

    ]{
  • Re:Spooky (Score:3, Insightful)

    by Rorian ( 88503 ) <`moc.liamg' `ta' `hsyf.semaj'> on Wednesday April 25, 2007 @02:31AM (#18866829) Homepage Journal
    uhuh.. what if I want to provide a full blown application suite? You are right, Linux can do all sorts of wonderful things like that (but then, so can Cygwin under win32.. if html2pdf doesn't exist in Cygwin yet, porting cannot be all that hard) so that point is slightly moot. I've also found that Python is fantastic tool for thousands of such odd-jobs like that, and Python is just as happy under Win32 as Linux.

    The fact is that for large application development, Visual Studio IS a fantastic tool and I would use it before any other development environment I have experienced to date, for such a task. As for Windows being a closed platform, care to actually elaborate on how it is closed, and how this closed nature has a negative impact on daily productivity?

    I appreciate Linux advocacy, I used to be a Linux advocate myself, and ran Linux exclusively for a long time, but the fact is that I am not going to be Pro-Linux just because it's cool. Windows does everything I want (which generally consists of watching the occasional movie, bit of music, web browsing and the odd bit of World of Warcraft). Linux does all of this as well, but just not quite as nicely, so why bother?

    Perhaps I'm with the wrong crowd here, being Slashdot and all, but I'm starting to get bored with the whole "Support Linux because it's not Microsoft" rant - How about supporting the best tool for the job, no matter what that tool is? It's just a little bit more mature.
  • by Simon80 ( 874052 ) on Wednesday April 25, 2007 @02:35AM (#18866847)
    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: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.

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

    by Helldesk Hound ( 981604 ) on Wednesday April 25, 2007 @02:39AM (#18866889) Homepage
    > "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"

    But sometimes you need a spanner.

    Sometimes you also need a screw driver.

    And sometimes you need a tool designed specifically to get into that awkward spot that no other tool can get into.

    tools are precision instruments designed to manipulate precision parts without damaging those parts.

    If you have a one-tool-fits-all approach then you only end up reducing either the variety or the quality of what you can produce.
  • Re:Apache vs IIS (Score:3, Insightful)

    by dodobh ( 65811 ) on Wednesday April 25, 2007 @02:41AM (#18866909) Homepage
    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 between the Windows philosophy and the Unix philosophy is that Unix adds a bit of a startup cost, but keeps operating costs low.
  • 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 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.
  • Re:Thanks, we know (Score:3, Insightful)

    by MechaBlue ( 1068636 ) on Wednesday April 25, 2007 @03:04AM (#18867057)
    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 documentation is so much better than Java, too. Rather than have 1 page per class and making me use the page-up and page-down keys, it lets me use the much more convenient type-to-search-and-click-through-6-pages approach.
    - It's great that the solution file changes every time that I pick my nose. It makes using Subversion and CVS so much easier, especially with a large team.
    - The kept all the good stuff from Java, such as: ArrayList arrayList = new ArrayList();
    - Also, I don't have to worry about another creating a non-standard implementation of the CLR and trying to lock-out clones. Microsoft can do this all by itself.
    - I don't need to worry about trying to get .NET applications working on non-Windows platforms because MS has only released a reference implementation for Windows.
    - I don't need to worry about adding in code generation for repetitive tasks because there doesn't seem to be any facility for it.

    I'm sure that there are workarounds for some of these issues but, really, I don't care. I learned Java a decade ago and, if I want to program in something like Java, I'd rather do it in Java than learn C#.NET. Especially when I can use vim or Eclipse to crank out a Ruby or Bash script to tie together a few simple programs. C#.NET is Java that tried to not be Java, but only succeeded in the bad ways.

    Admittedly, Visual Studio 2k3 and 2k5 have advantages over Eclipse. The comments in C# are somewhat nice (// comments are better than /* */ comments when commenting out large blocks of code, though the XML thing is really verbose). The word-completion is totally sexy. I could do without the curious glitches, though...
  • by Osty ( 16825 ) on Wednesday April 25, 2007 @03:17AM (#18867121)

    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.

    "Built-in" does not have to mean built into the kernel. In the case of Linux, "built-in" might mean "available by default in every distribution without having to do anything special". Maybe that's KDE, maybe it's GNOME, maybe it's something else, but it has to always be there (alternatively, you have to really work at making it not be there, in which case you're probably not the target audience).

    However, it is true that a unified API that eases porting between different GUI kits would be nice.

    I don't think a unified API solves the problem, so long as projects are allowed to implement however much or little of it as they want. What is needed is a single, de-facto GUI widget kit that is ubiquitous across all distributions of Linux. Or at least provide a single easy way for an application to force the installation of that toolkit if it's not there already (and no, debs, rpms, pkgs, and whatever else don't satisfy that criteria because there's too many of them -- one installation method, one dependency resolution method, one toolkit. Not 10 different installation methods, each with their own dependency resolution models, for 20 different toolkits).

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

    E

  • Re:Choice Wins (Score:2, Insightful)

    by KingMotley ( 944240 ) on Wednesday April 25, 2007 @03:33AM (#18867201) Journal
    That assumes that companies actually want ownership. Most don't. As a developer, I don't want ownership of the IDE. I don't want to have to learn how to recompile it, or learn the inner workings of it. I don't get paid to change the font it uses from the default, nor do I really want to try and help a fellow developer, only to realize his program won't compile because of some optimization he did to his compiler so that it ran .01% faster.

    I don't demand that sears give me the complete schematics to the hammer I bought, along with detailed instructions how to cut down a tree to form the handle, and smelt the metal for the head. I just want to hit something with it, and it to work. That's something that I think many in the OSS fan clubs fail to realize that most people who really want to use something DON'T want to tinker with the internals of it.
  • Re:Apache vs IIS (Score:3, Insightful)

    by hey ( 83763 ) on Wednesday April 25, 2007 @03:49AM (#18867275) Journal
    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.
     
  • by pwizard2 ( 920421 ) on Wednesday April 25, 2007 @03:54AM (#18867297)

    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.
    I think that merging the kernel and the windowing system is a b> terrible idea, and here's why:

    1. It needlessly complicates the kernel, meaning that there are going to be more bugs/exploits.

    2. Isolating the kernel from the windowing system is good because if X breaks, I can still use the kernel via a bash shell, which would probably give me the functionality that I need to repair/reinstall X. If the kernel and the windowing system were merged, I probably wouldn't have a fully functional kernel if something happened to the windowing system. The only option then would be a reformat.
  • 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 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 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 :)
  • by Anomolous Cowturd ( 190524 ) on Wednesday April 25, 2007 @04:11AM (#18867371)
    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.
  • 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 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 [wikipedia.org], 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.
  • 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 [www.nerds-central.com|nerds-central.blogspot.com| twitter/AlexTurner]

  • Re:+5 (Obvious) (Score:3, Insightful)

    by Aladrin ( 926209 ) on Wednesday April 25, 2007 @06:42AM (#18868055)
    "it is unstructured choice that makes it difficult for consumers"

    I'll agree with that. Now tell me where the structure is in choosing a distro for Linux.

    MS offers choices in their new Vista, and the 5 or so versions that they offer is an almost unbearable choice for consumers. ('Ohhh, do I really need feature X? What if I choose not to get it, and need it later?') At least they have a chart that shows you the features and what you'll be missing if you buy the cheap ones.

    Linux offers dozens of distros and I've never yet seen a chart that shows the pros and cons of each one, or even the biggest 5. For instance, check this page. http://www.linuxdevcenter.com/pub/a/linux/2005/10/ 27/what-is-a-linux-distribution.html [linuxdevcenter.com] It says 'Choosing a Linux Distribution' and lists the major ones. Does it tell you what they do? No, it tells you how they were born. WTF good is that?? It does recommend Debian for servers, and Ubuntu for newcomers. But it doesn't say the features at all.

    So it's unstructured choice. You could spend months on the net researching distros before you actually found the one that suited you. With the Windows Vista chart, it would take an hour, tops.

    BTW, that link was the first result from Googling 'linux distro chart' and none of the other results even seem relevant.
  • by ChameleonDave ( 1041178 ) on Wednesday April 25, 2007 @06:47AM (#18868077) Homepage

    Although Linux distros have many flaws, they have nothing to do with the reason why most people and businesses use Windows.

    Linux and Open Source are new as a mature software solution. Microsoft started dominating the market many years ago now. If everyone bought computers today and gave them to employees that had never used a computer before, then of course we would win. But that is not the situation. Companies have documents in Word format; they have employees who think the big blue e equals the internet; people have paid for licences already. It will take time, but we will win.

  • Re:Apache vs IIS (Score:3, Insightful)

    by DaleGlass ( 1068434 ) on Wednesday April 25, 2007 @06:47AM (#18868079) Homepage
    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 have, by MAC.

    Windows: Hand falls off due to clicking for an hour, and mindlessly copy/pasting. Error prone. MS DHCP is completely braindead by the way, and seems to confuse the description and MAC fields (did anybody even test that?)

    Linux: Maybe 5 minutes to write a script that: pings subnet, parses output of 'arp -a', and automatically generates a dhcpd config file. If the hosts were Linux ones I could also automatically replace the network settings on all of them. If it goes wrong, fix script then run again. Not all hosts are on? No problem, I can tweak the script to run periodically, detecting new computers and adding the config for them.

    Yes, GUIs are easier for tiny tasks, but once you need something uncommon they're a huge pain in the ass. And it's not like there can't be a GUI that generates dhcpd.conf either.
  • Re:Thanks, we know (Score:1, Insightful)

    by checkup21 ( 717875 ) on Wednesday April 25, 2007 @07:09AM (#18868163)
    In many points you are absolutely right, but then you get it terribly wrong.
    Because you cross the point where "something is easy to use" and "something is just bad". Using MySQL GUI interfaces (mysqlcc for example) is absolutely intuitive to somebody with theoretical knowledge of relational databases. It gets more and more complicated the less the user knows about databases! Same with VB(.NET). I'm sick ranting about this piece of shit language to ppl who just want it "easy and only know VB".
    And this is the exact point for the success of Microsoft. PPl with no knowledge at all can set up SQL servers and LDAP directories (for the mcses : ADS) without any knowledge of this stuff. They learn they can insert data and create user accounts, delete tables and organize in "organizational units". They think of this as "MS features" and have no clue about the matter at all.
    This discussion is coming up from time to tim when ppl defend Outlook/Exchange as being a groupware and rant about Notes/Domino. Linux ppl want it easy too, but we have to have a point, where we can distinct the 2% ppl with skill out of the 100% with a certificate. "Administrating" an SQL Server makes you nothing, you would not even get a DB2 Process up running!

    And thank god for the difference he made and we can clearly see.
  • 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:Choice Wins (Score:3, Insightful)

    by marcosdumay ( 620877 ) <marcosdumay&gmail,com> on Wednesday April 25, 2007 @09:11AM (#18869117) Homepage Journal

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

  • by analog_line ( 465182 ) on Wednesday April 25, 2007 @09: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.
  • by Ayanami Rei ( 621112 ) * <rayanami&gmail,com> on Wednesday April 25, 2007 @09:55AM (#18869713) Journal
    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.
  • by Teach ( 29386 ) <graham@NospAm.grahammitchell.com> 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 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.
  • good strategy (Score:4, Insightful)

    by nightsweat ( 604367 ) on Wednesday April 25, 2007 @10: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.
  • 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.
  • by dosquatch ( 924618 ) on Wednesday April 25, 2007 @11:19AM (#18870929) Journal

    So you're saying if my mom starts to call cars "crankshafts", I shouldn't correct her? Or is your analogy exactly backwards from the point you're trying to make?

    I'm saying monkey see, monkey do. She's calling them crankshafts because she sees you and a bunch of your buddies calling them crankshafts. I'm saying "if" she's wrong, maybe you should set a different example rather than split hairs and confuse her with information she doesn't need, while continuing to do the same thing for which you're "correcting" her.

    Nevermind that I'm not completely convinced she's wrong. Nomenclature changes, and it might be that you don't have a lot of say in that change. Majority rules. We call them "cars" now, but they started out as "horseless carriages". If the majority of folks mean a complete OS when they say "linux", you might just have to suck it up and deal lest you find yourself railing against the wind.

    And don't kid yourself, the distinction doesn't really matter. (Blasphemy!) No, but it's true! The kernel, without a platform, is pretty useless. A platform, without a kernel, is much the same. There's an intrinsic linking there that you can't put down as (or with) semantics, and the simple fact is that the demarcation point between the two only matters if you're coding parts of the system. To everyone else, it's just geeks making noise which cues the glazed eyeballs.

  • by amazon10x ( 737466 ) on Wednesday April 25, 2007 @11:33AM (#18871179)
    Yes you do; you just don't know it. You use linux because it works and because it costs no money. Those two aspects hinge upon freedom.
  • Re:Choice Wins (Score:2, Insightful)

    by littlewink ( 996298 ) on Wednesday April 25, 2007 @11:38AM (#18871247)

    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.


    Does "piece of unmaintainable crap" refer to Java, Perl, Apache, PostGreSQL, Oracle, Python or all of them? Because each of those has a reputation far better than yours.

    Or is it supposedly a "piece of unmaintainable crap" because of the architects' design?

    Before you post again, try to determine exactly _where_ the problem lies. Here you attempt to besmirch, to no effect, the very pillars of Open Source (Java, Perl, Apache, PostGreSQL, Oracle, Python) yet, when distilled down, your only possible criticisms are that
    1. Open Source has multiple languages and
    2. the architects built something that did not scale.

    Point 1 is obvious and silly. Point 2 is questionable at best, because you're making the claim by yourself with no supporting evidence.

    Maybe you weren't willing to examine the system to see what was wrong and fix it? So you left. Should we trust the word of a man who quits a company and then criticises it's new systems? I think not.

"Experience has proved that some people indeed know everything." -- Russell Baker

Working...