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."
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.
What the monopoly says, goes. They define a standard. Because they're MS, they define a standard that's different and incompatible with official standards. You either go with the market, or you swim upstream. This is about as clever as saying, "the reason red is red is because it's not yellow."
Nothing to see here. Market forces and ease of use win over features, stability, or quality.
"People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
As in - Why not limit the number of websites? Too much choice!
http://stephan.sugarmotor.org
People feel overwhelmed and decide not to choose anything.
That is basic psych.
http://www.google.com/search?hl=en&q=too+much+cho
[Fuck Beta]
o0t!
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.
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
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.
Javascript + Nintendo DSi = DSiCade
There's plenty of choice on Windows. The only difference is that these choices involve paying money for things whose worth you can't evaluate until you've used them for longer than a month. Branding helps tremendously in such a situation, as does bundling, both of which MS has in spades.
.NET languages
Some examples of choices developers have on windows platforms:
* IDEs - visual studio, eclipse, netbeans, dev-c++, codewarrior, just to name a few I've used
* The various
* Databases
* Webservers, IIS, apache, or something else?
* antivirus, Vista tried pretty hard to end all of these though.
If you're just moaning about how Microsoft has a large vertically integrated set of tools, well, there's Java. Nobody does this, because its stupid and they have the choice not to.
I Browse at +4 Flamebait
Open Source Sysadmin
"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."
.NET standard, or the Mono standard?
Would that be the
"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?
...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:
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.
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.
It's not a lifetime lock-in when they discontinue your entire development environment and language. Yep, by discontinuing the VB6 language they saved us from that terrible lock-in. Now we are free to re-type those millions of lines of code (and years of effort) in another language on any platform we like. How thoughtful of them.
I was thinking about all of this just yesterday - At work I develop code almost entirely in Visual Studio (98, 2k3 and 2k5) with a little netbeans on the side when I have to deal with Java. I installed Ubuntu 7.04 on the weekend (haven't used Linux in a while, thought I'd have another play). Now I have KDevelop, Eclipse, GCC+Vi, GDB, DDD, KDB, and about 15 other tools that all provide portions of what MS VS wraps up in one neat package, and none of them do it with half the quality. Eclipse is not bad, but 1. It's written in Java, and fairly slow, 2. Debugger integration was average at best and 3. The GUI is overly verbose, borders are too big etc. There are other issues but I guess most of them dissapear with prolonged usage (I'm still not 100% happy with Visual Studio, and I've used that for years).
My point is, Microsoft has made it MUCH easier for developers than Linux, at least for in-house software development. I must admit that there are some benefits to Open Source development tools for distributed development, but not all that many - Svn/Cvs are equally as usable under Windows (if not easier, with tortoisesvn/cvs), Cygwin covers a lot of gaps for GNU-Win32 development, etc.
I don't know if it's the amount of choice or what, and I must admit I haven't used KDevelop in a long time, it may be really awesome by now, but I really don't look forward to the day when M$ explodes and I am forced onto Linux/Mac OS X (I hear the Mac OS X IDE of choice is pretty nasty).
Will program for karma.
Keep in mind that monoculture has disadvantages too.
Variety, for example, is necessary for adaptation, creativity and resistance to disease.
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.
Just maybe its that until quite recently the Microsoft development environment was vastly superior to anything being offered by the Open Source community. There were quality development and debugging environments from MS and Borland. More dev editors than you could shake a stick at. There was easy integration with multiple databases and it was easy to develop slick front ends to this data. There was tooling availabe for easy project management and application testing.
Maybe Microsoft actually copped on to the fact that businesses wanted tools to build the apps they needed while the Open Source community were patting themselves on the back about how cool and fantastically leet they were for having text editors and shell scripts.
Whats interesting is that the two current leading Java Open Source IDEs (Eclipse and Netbeans) are both tools which started out life intended as commercial offerings but were donated to the community by IBM and SUN.
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
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.
If you all Google Slashdot, will it Slashdot Google?
"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"
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.
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.
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.
I want a new quote. One that won't spill. One that don't cost too much. Or come in a pill.
I prefer Apache since it's free but....
s t.html .
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_ho
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/
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.
If moderation could change anything, it would be illegal.
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.
r tz-master-chooser.html
The whole "choice is bad" meme is complete and utter nonsense. http://angry-economist.russnelson.com/barry-schwa
Don't piss off The Angry Economist
I'll admit, the difference between Kdevelop (KDE's IDE) and Anjuta (arguably the GNOME alternative) are trivial but too often annoying in reality. But there frankly is a reason why I, among others use Kdevelop: It simply looks better than everything else in KDE. Now, of course, because it is linked in deeply with KDE as a whole, unless you upgrade every time a new KDE release comes out, the development libraries&junk may fall behind. I upgrade about every 6-8 months, but I see how, if somebody didn't, that could be a huge pain. But Anjuta, though it uses GNOME/GTK+ libraries (GTK+ is used for almost all programs, but the GNOME variants can cause trouble), it isn't so deeply linked in. So this deepens the debate, especially since the two environments go forward at often random paces. When I started using GNU/Linux, I got frustrated at this, and it caused me to use my Windows IDE, Microsoft Visual C++ more often. Because it has its own formats for organization, I started becoming more dependent on it as I added more headers and crap. That is why Kdevelop gives Microsoft market-share. I think, but am not sure that KDE is the most common desktop environment. Ubuntu may have altered the balance, though.
Oh, it's helpful, all right. For instance, the only reason we've not released a port to linux - a free version, of course, we'd like to give back to the community - is because there is no standard GUI layer. It's a hodgepodge of these widgets and those widgets, this license and that license (really meaning, these liabilities and those liabilities.) Windows provides all that. Free. Built in. Plus a large market. So we developed for them. When Windows became intolerable because of activation DRM, we moved to OSX. Nice GUI layer, free, built-in. development proceeds apace, while linux runs servers. Others may have other reasons, but those are ours. The day the linux core gets BUILT-IN windowing and graphics, and I do NOT mean just xwindows or xwindows plus yet another sometimes-there and restrictively licensed widget set, is the day we make a port that we will release to the community. The community can then, of course, use our stuff or not as they see fit - but as is, it's not a choice. That's been the unanimous decision of the linux community: no coherence.
I want to say one more thing. The existence of a standard GUI layer in NO way means that you can't still have everything you have now. You'd just have one more thing, something people could write to as a default, even just as a fall-back.
That's my 2 cents.
I've fallen off your lawn, and I can't get up.
I went to bottle shop the other day to buy some beer, to my surprise they had 100 different types, i really enjoyed sampling them all at the time, but today i am sick and bloated.
Just because you can have something doesnt mean you should.
> "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.
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.
http://saveie6.com/
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
A polar bear is a cartesian bear after a coordinate transform.
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]
I'm not convinced the article provides a solid basis for blaming choice as a problem.
:-)).
.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.
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
At that point you can start asking questions about true business benefits and TCO.
Insert
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.
What he's really talking about is the Network Effect, but doesn't seem to realise. The Network effect is why we speak national languages instead of reegional ones, why some form of English is ultimately going to replace all others, why TCP/IP is the only protocol our machines talk now. Why all keyboards are querty. Why we use the same currencies, why we all drive on the same side of the road. There is utility in all things being the same.
It also applies to user interfaces, libraries, operating systems etc but to a much weaker level. This simply means that it takes longer for the users of the various interfaces, libraries, development tools to converge on the same solution. The need can't particularly great because if it was, the convergence would be happening far quicker. It'll happen over time in the Linux environment, in the meantime, the market is going through the various Linux softwares and choosing the one which fits their needs best.
Deleted
"Every job has its unpleasant parts, and while a F/OSS coder can skip them a commercial coder can not; if the spec calls for an embedded testing code, for example, or Doxygen comments, you put it in."
The percentage of non-FOSS which is documented and the percentage of FOSS which is documented are pretty similar in my experience. Perhaps you are unaware of the incredible 95% of software which is developed commercially, but which is not sold in a shrink-wrapped box in Circuit City. Many companies have internal IT departments which couldn't code their way out of a paper bag in VB, let alone document it. Go read the daily WTF if you think I'm lying.
"s/he might be wrong but at least the product is consistent, and not designed by a committee as it sometimes happens."
Andrew Morton. That's a name I can think of when I think of someone with vision for a particular FOSS project which are willing to say when things (don't) match their vision. Linus Torvalds also fits this bill. There are similar names in other projects, but I'm most familiar with the kernel.
"These clones haven't been weeded out by the market, and so many of them are not viable - but they are out there,"
The weeding doesn't occur at the store level, it occurs at the reputation level. All FOSS stuff is staked on reputation. If you have a high reputation, you are going to be used more and included in more distributions. If you are a crappy app, you'll never see a real user base. Since the programmer is programming for ego (see the somewhat inaccurate women/baby analogy), the programmer should be motivated to produce better work which becomes more popular. The KDE programmers sure seem to have worked to make sure that KDE is useful. The Gnome programmers have also worked towards some mindshare. Given how people used to choose window managers, but now choose desktop environments, I'd say that these programmers have changed the game wrt GUI interfaces on Linux. That sounds much like a market shift, but with eyeballs and hearts instead of money.
"Effort dispersed, spent on competing projects is ultimately wasted."
Oh, I'm sorry, I guess you're just a troll. Or you simply don't understand what FOSS is.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
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.
Simply put, he's right in a way. After all, developing software for an environment you choose, means anyone who didn't choose your environment who wants to run your software has to switch, or install more software, and deal with the problems possibly associated with such a thing.
;D
Remember when KDE, GNOME, Xfce and Enlightenment didn't share a desktop API? Look now at how Enlightenment reinvents everything using it's own special libraries? While Enlightenment has some distinct advantages over the way the others are designed, it is a DIFFERENT system. Want to install a GNOME core application on KDE? Well, you have to drag in most of GNOME, still. The same in reverse. Install Enlightenment tools on top? Well you have to drag in the rest of the E17 framework.
Install X on my system, and it still pulls in 5 different sound daemons.. yikes, and yikes again. Xine, MPlayer and GStreamer/Totem too. They all use the same libraries after all, but do I need 3 different ways to play a movie?
I personally prefer GNOME and Xfce if only because they use the same GTK toolkit - however I personally loathe GTK and the GTK API. I don't want to even get started in Enlightenment.
So, when you sit down and use Windows, what do you do? Well, you're pretty much stuck using Windows. And for all intents and purposes, there is a strict set of toolkits and APIs they provide for you (DLL hell wipes that off the map though). There is no "which API do I use to open a window and add a button" if you are using VisualC++ and reading the documentation, it will pretty much railroad you into one choice. But there ARE other choices.. they are just less obvious and less relevant.
I think this is why I like the concept of RAD stuff like Ruby On Rails, however I do hate Ruby, and Python, and I never got into Perl in a big way, and while I'm stuck with PHP, it's because it's closer to C++, which I absolutely love. If I had a choice I'd be coding everything in C++, with a single toolkit, but unfortunately because everyone else makes other choices, I can't.
Does my life deserve to be made this difficult by virtue of the freedom of choice? Probably
I also love Kubuntu and use it on all my machines at home... However I develop for Windows at work. Developing application in Windows can be as easy as VB. As far as I have seen there is nothing on this (OSS) side of the fence that comes close to it for ease of use, with (reasonably) good debugging. From there it's a skip and a jump into C# and beyond.
As a (bad) example of how far UIs have to go, I use Visual Studio 2005 at work and I use Matlab for my postgrad work. Both professional, closed-source products. The Matlab debugging facilities pale in comparison to Visual Studio's power. Makes life so much easier. I find Matlab a bit archaic, but KOctave seems even worse. I guess Matlab only has to do better than Octave on Linux systems.
Of course my argument is omitting things like Eclipse... but I have only used it a few times and found it too slow (slower than VS.Net!!) and user unfriendly.
Couldn't stand the weather
"it is unstructured choice that makes it difficult for consumers"
/ 27/what-is-a-linux-distribution.html 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.
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
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.
"If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
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.
I thought Apple had fewer software options for most tasks than Windows, at least it has always seemed that way to me.
Likewise, BSD has fewer software options for most tasks than Linux since it has less development, so why does Linux take the OSS business market instead of BSD?
Note: I don't intend this as a flame at all, I like one of the OSes that this says should do good based on the logic, and I don't like the other. I like one of the OSes that looks like it should be bad in this comparison, and I don't like the other. I'm just saying the arguments logic doesn't seem to add up to me.
34486853790
Connection too slow for X forwarding? Try "ssh -CX user@host"
Linux has lots of monocultures--pieces of software that have become mostly standard:
* the Linux kernel (rather than, say, the Hurd)
* X.org (rather than XFree86, which is now dead)
* bash (rather than ksh, csh, tcsh, or my favorite, fish)
* Apache (I had to look at Wikipedia to see if alternatives even exist)
* MythTV (any other Linux PVRs?)
* GCC, and for that matter, most GNU tools
Perhaps usage standardizes on one piece of software when that benefits people, but usage fragments when there are benefits to choice. Doesn't seem like a problem.
Penny - plain text accounting
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.
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.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
"Not an actor, but he plays one on TV."
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.
the major advances in civilization are processes which all but wreck the societies in which they occur - A.N. White
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.
Unlike Microsoft, which has never engaged in massive layoffs
Sure. When you've hired thousands of "permatemps", you don't lay them off, you just expire their contracts.
-- Alastair