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."
FAQ item (Score:5, Insightful)
Does this author have a valid point? Probably
Is this point, and any relevant discussion, different from the last time this was brought up a few months ago?
Probably not.
Re:FAQ item (Score:5, Insightful)
Re:FAQ item (Score:5, Informative)
Things to learn from Windows and OSX. (Score:4, Interesting)
Oh, it's helpful, all right. For instance, the only reason we've not released a port to linux - a free version, of course, we'd like to give back to the community - is because there is no standard GUI layer. It's a hodgepodge of these widgets and those widgets, this license and that license (really meaning, these liabilities and those liabilities.) Windows provides all that. Free. Built in. Plus a large market. So we developed for them. When Windows became intolerable because of activation DRM, we moved to OSX. Nice GUI layer, free, built-in. development proceeds apace, while linux runs servers. Others may have other reasons, but those are ours. The day the linux core gets BUILT-IN windowing and graphics, and I do NOT mean just xwindows or xwindows plus yet another sometimes-there and restrictively licensed widget set, is the day we make a port that we will release to the community. The community can then, of course, use our stuff or not as they see fit - but as is, it's not a choice. That's been the unanimous decision of the linux community: no coherence.
I want to say one more thing. The existence of a standard GUI layer in NO way means that you can't still have everything you have now. You'd just have one more thing, something people could write to as a default, even just as a fall-back.
That's my 2 cents.
Re: (Score:3, Insightful)
So you could, for example, create a solution for Ubuntu - currently the most popular client distribution - which includes a windowing system, widget libraries, desktop environment, documentation environment and everything else yo
Re:Things to learn from Windows and OSX. (Score:4, Insightful)
Re: (Score:3, Interesting)
Re:Things to learn from Windows and OSX. (Score:5, Insightful)
Sarcasm aside, I am (and have always been) shocked at how various Linux distributions differ. I'm by no means a Linux expert, but come on, if you can't agree on where to put your init0.d-init6.d (or whatever it is, yes I'm looking at you Gentoo) then how do you expect an outsider to write something that works for "Linux"?
I mean we hear all this crap about Microsoft and how ME breaks 98, and 2000 breaks ME and Vista breaks XP, etc.
But do the math, how many operating systems are we talking about here? now compare that to Linux distributions available today.
I'm not trolling, I'm no shill and I definitely do not work for Microsoft.. but I just really believe that "too" much choice sucks.
I just (literally) bought a new house (closed escrow today) and I've been in the carpet choice dilemma for the past two weeks! (mind you it took me a while to settle on carpet instead of hard wood floors, pergo, etc.).
Come to think of it, I think this carpet analogy (that I'm about to write) is right on money here. OS is like carpet! It's the foundation that you build on. Think of how carpet pretty much dictates what kind of furniture (style/color etc.) you'll be placing on it, OS will do the same with your applications.
I would have a much easier time choosing between 2-3 carpet types and 10-20 colors than the amazing number of styles/options out there (visit the carpet section next time you're at home depot and you'll know what I'm talking about).
Things like carpet and operating systems (I can't believe I'm lumping them up in the same sentence) are not mundane. They are a *huge* deal because of the consequences of the choice (much like posting this without hitting the "Post Anonymously" checkbox). They're something that you will invest a good amount in, and that will be with you for a long time.
Choice is a VERY good thing, too much choice may even be perfect for those who know "exactly" what they want.
I live and breathe computers, and I think it's silly that I'm spending all this time researching "the" perfect carpet for me and my family. I also believe that the home decoration specialist that knows what kind/make/model/color/class of carpet they want for the hallway of their second house (and have it written somewhere) would be as frustrated as I am with carpet if they had to choose from the plethora of Linux distributions out there today.
The choice is even worse for software companies that put money or even the whole company on the line when they make a platform choice.
I'm done ranting, gotta hit the sack and hope that I come to a decision about the carpet before we get the keys!
Side [OT] (as if this whole thing wasn't anyway) note:
If you happen to know something about carpet, or where I can get more/good information please post it. No pets, one year old and an average budget. Thanks in advance
Re: (Score:3, Insightful)
Provide the source code under an open license. It's how we want it to happen.
Re: (Score:3, Insightful)
Re:Things to learn from Windows and OSX. (Score:4, Insightful)
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."
Re:Things to learn from Windows and OSX. (Score:4, Interesting)
The truth of the matter is, you can easily write a "Linux" application that runs on pretty much all major Linux distributions.
I disagree. The real problems we have with many choices are all because we have a monoculture. Because there is one dominant OS and that OS is intentionally incompatible with other things, fragmentation is an issue. If we had four OS's sharing 75% of the market and another 10 OS's sharing the rest we'd have significant investment in all the major ones and in technologies that allow for good cross-platform development and portable applications so it did not matter which OS you are running as much, since it would preclude your using a given application.
I picked out some carpet a month ago. Like any other decision, I had criteria. It needed to go with two different wall colors and needed to have a pattern to hide the stuff tracked in from outside and the garage. If there were only 10-20 colors, I would have had a carpet that was less suited to my needs than what I did get, since I doubt one of these 20 colors would have been a combination of colors complementary to my walls along with a dark and a neutral to help hide dirt and the like. If you don't like having choices, then just pick from a limited selection from one company or collection. I don't see why this is hard. Variety and competition breed innovation and improvement and allow for a better fit to a given task. It is only when we have a monoculture that the problems appear and one vendor can intentionally make sure you have no choices by making sure floors are either compatible with their carpet or are weird and non-standard ones that do not work with anything other than one specialty floor.
So it is better for a company to have only one or two choices, than many choices to find the best fit for their needs? I'm not sure I understand that argument at all.
I don't know a lot about carpet, but I recently did some research and consulted someone who knew a whole lot. I'm happy with the result. Consider what it will look like in two years given the type of traffic you have. Consider changing trends and what will quickly look dated. Spend the extra money for thick, high quality padding underneath the carpet as that makes a whole lot more difference for the price differential than the cost difference between the carpets themselves.
Re: (Score:3, Informative)
Very true. This is a very informative Google TechTalk called The Paradox of Choice - Why More Is Less [google.com] [warning 1 hour] that describes this issue. It's not intuitive, but is logical. It is very hard for people to make a choice, so hard, that often people will avoid making a decision when doing nothing is actually more costly than making a bad choice. This talk is back up by results of some interesting experiments.
Re:Things to learn from Windows and OSX. (Score:5, Insightful)
I swear to FSM, I'm gonna go postal the next time I see this argument. Come over here and let me beat you with a clue.
The vast majority of computer users are not developers, code warriors, uber-geeks, or anything of the sort. All they want is to check their mail, browse the web, and run a word processor. They don't understand this distinction. They don't want to understand this distinction. So what happens is that they call it whatever they hear it being called.
It's akin to pointing to a parking lot and calling all of the vehicles in it "crankshafts", and then berating some hapless would-be driver for not understanding the distinction that that happens to be just one critical part in the overall makeup, and even though you casually call them all "crankshafts" the vehicles are likely to bear little semblance to one another in form or function.
Yeah, I know. Another car analogy. I'm trying to be feel apologetic...
Re: (Score:3, Insightful)
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
Re:Things to learn from Windows and OSX. (Score:4, Interesting)
Seeing as both are available on windows/mac/linux, its really hard to understand why you are saying that there are too many choices. There are two, and they port to all linux distros as well as Win/Mac.
Re:Things to learn from Windows and OSX. (Score:5, Interesting)
Back to the original question, the reason that so many companies choose the Windows development? It just works. I can install MS Visual Studio, connect to MS SQL Server, pull in web services off of IIS. And it just works. I call developing in a Microsoft environment "pointy-clicky-draggy-droppy". You don't really have to think about too many config files or whether something works together. It may be dumbed down, but as a developer, I don't want to really have to think about configuration, I want to think about code.
My primary development environment right now is Eclipse and Java. I hate it. Why? Too many choices and no way to know which is the right choice. I have to deal with this configuration and that configuration and a few
Layne
Re: (Score:3, Insightful)
Re: (Score:3, Informative)
You got misinformed there. You can develop proprietary applications with KDE. KDE is LGPL'd, and the LGPL allows proprietary applications. The caveat though is that KDE links to Qt, and Qt is either GPL or commercial. So in order to develop a proprietary application with KDE, you need a commercial license for Qt, b
Re: (Score:3, Informative)
is because there is no standard GUI layer.
I don't know whether to laugh or cry. You can use any GUI layer you'd like, and it will work everywhere. Want to use QT? No problem. GTK? No problem. Athena? No problem. It all works. In fact, on any given day, I use applications that uses different toolkits (e.g, firefox, SWT, konqueror) and it never bothered me. Yeah, the open file dialog problem still exists, but there is hope in that. And someday, the look will be unified too, have patience. Neither of those are really important, though.
So if that wa
Re: (Score:3, Interesting)
Mac users don't complain that FireFox doesn't look like a real OS X app, they complain that it doesn't feel like one. If you want to see what I mean, try double-clicking on the address bar, or using any of the keyboard shortcuts for moving around it that work in every single text box on the system except FireFox. Qt apps tend to be just as bad, which is why I avoid them like the plague.
A lot of the reason OS X is easy to use is motor memory. Applications all use the same shortcuts, so your brain think
I don't get it --why not pick an arbitrary GUI? (Score:5, Insightful)
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."
I love Linux...but as a software engineer... (Score:3, Informative)
As a (bad) example of how far UIs have to go, I use Visual Studio 2005 at work [taitworld.com] and I use Matlab for my postgrad work [canterbury.ac.nz]. Both professional, closed-source product
Re: (Score:3, Informative)
Google doesn't seem to have had a problem with Google Earth. Nero burning rom works fine. None of the various proprietary games for Linux has any problem. Adobe Acrobat Reader works. Realplayer works great.
Sure - the developer who builds the package has to have a basic understanding of the platform. They may even end up having to spend some time researching the problem. But - if you're willing to go to the effort to port to a new platform a couple hours of study shouldn't bother you.
Realplayer is a perfec
Re: (Score:3, Informative)
It is perfectly possible for an application author to produce an application and link it statically.
It is also possible to link with -z origin -rpath '$ORIGIN/../lib' (or similar) allowing the bundling of the EXACT shared objects (dlls for you windows folk) locally into a single directory tree.
If this is done, the application can be put into any directory, and will run from there with no further configuration needed. If glibc is included, it will also run on a WIDE range of kernels
Re: (Score:3, Insightful)
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.
Re:Things to learn from Windows and OSX. (Score:5, Informative)
No, it does not. Well only sort-of.. The "standard GUI layer" of Windows is limited to the plain widgets we all know from Windows 95. The ones Notepad and WordPad still use. Ugly menu's and big bevel toolbar buttons. If you look closer you'll see Notepad, Windows Explorer, Visual Studio, Office all use different menu's and toolbar handles. They're all custom widgets, not standard.
Most advanced widgets for Windows are part of a commercial widget toolkit [wikipedia.org] you've chosen. This can be MFC, ComCtl, VLC (Borland), Windows Forms (.Net), WPF (.Net3), Qt, and I'm missing others (e.g. remember those big sized OK-buttons a big green check icon inside).
All those different frameworks do have something in common. Windows provides central settings for fonts and color schemes. This makes them all look the same. That's something Linux should really improve.
You have two good options for Linux:
Dude, what are you talking about? (Score:3, Insightful)
2) GTK is your GUI target. If you need a C++-based library, then target wxWindows or QT (added bonus, you get Windows compatibility for free with those two).
There aren't any other choices. It really isn't as complicated as you make it out to be.
Re:LMAO Non free finally wins. (Score:5, Insightful)
Here you have two prime examples of "too much choice" in action.
You're assuming that everyone uses an apt-get based package distribution method, and you just can't do that.
You're also assuming KDE is there, and that's an even more flawed assumption.
good strategy (Score:4, Insightful)
It's easier and more efficient to ask "paper or plastic" than to follow that up with "paper made from wood pulp or grasses?" "recycled wood pulp or all-new?" "paper from hardwood or from softwood?" "Made from trees from the Northern hemisphere or southern hemisphere?" "Bleached or natural?" "Logo printed on or blank?"
Sure, some people will want all these decisions, but they shouldn't be a requirement of the OS. Solve the Gnome/KDE nonsense and you'll see Linux propagate much more than it already is.
Re: (Score:3, Informative)
Sure. When you've hired thousands of "permatemps", you don't lay them off, you just expire their contracts.
Re:FAQ item (Score:4, Insightful)
Does the open source community do anything to change it's fractured ways since the last time this was mentioned?
Probably not.
I agree with him... I think open-source software is awesome. But there is too much fractured choice in the OSS community, and sometimes businesses are better managed and operate smoother when OSS is not part of the equation.
Just my opinion... I know someone will flame me *toast* *poof*
Re:FAQ item (Score:5, Interesting)
The difference i think is management, which Microsoft has, however flawed, and open source as a general rule, does not. Even within single projects there is useless argument, and forks for ridiculous reasons. In most cases, the required action is for one party to be kicked in the ass, hard. There are RARE cases where the majority of the community sees something going wrong and forks, such is the case with X.org.
Then you have cases like gnome and kde, which each develop totally redundant, sometimes useless ways to do the same thing, sometimes neither one does it well either.
Over and over again i see MAJOR parts of the system literally missing, like a device manager, while other parts, like file managers or office applications (openoffice, gnome office, koffice) are developed 3 or 4 times over in parallel by groups who either refuse to use code from another group simply because it has a G- or a K- in front of its name, or neglect to even look around to see if someone has already coded a similar app that could be used and improved.
In all honesty, gnome and kde have driven me away from linux for everything but core server use, and my next laptop will be a Macbook simply because i'm tired of it all.
Re:FAQ item (Score:4, Insightful)
Besides, many F/OSS people write code not just because they want to produce something specific, but because they like to write the code. There are many babies in the world, but every woman wants her own, strangely enough.
What commercial coding adds is discipline. Your manager may order you to write this documentation, or to use that library - because he has a reason, good or bad. And he has power to make sure you do it. If the project requires coding an ugly routine in an ugly language a F/OSS coder would rather not do it, and he'd be right - he is not paid to suffer. But a commercial coder will do the job, even if it involves 8052 assembly language instead of Python on Planes :-) Every job has its unpleasant parts, and while a F/OSS coder can skip them a commercial coder can not; if the spec calls for an embedded testing code, for example, or Doxygen comments, you put it in.
Discipline and dictatorial approach affect the result a lot. Basically, every commercial product is designed either by one person, or by very small group of people. This person (or group) has complete control over every aspect of the product; s/he might be wrong but at least the product is consistent, and not designed by a committee as it sometimes happens.
In addition to that, commercial products pass the rigorous testing by the free market, and that testing starts when someone thinks about the very idea of a new product. The project may not go forward until there is a good plan how it will be sold, and to who, and for how much. If these numbers make no sense then the product won't be even made. In F/OSS world, for example, I am free to write - and to release into the world - yet another clone of Vi or Notepad (we have hundreds by now, probably.) These clones haven't been weeded out by the market, and so many of them are not viable - but they are out there, just polluting the set of choices because someone will pick some and will be disappointed. You can't reasonably expect a user to choose one out of so many apps? That is a problem.
And, as someone already mentioned, if you combine AbiWord, KWord and OO's Writer you still don't get MS Word, even though the combined labor that went into all three is probably comparable. Effort dispersed, spent on competing projects is ultimately wasted. But it is so hard to join efforts because compromises and agreements are needed. In a business that would not be a problem.
Re:FAQ item (Score:5, Insightful)
Where in the world have you worked? This is so far from my experience that I'm starting to wonder if I ever worked in software at all.
Preposterous. (Score:3, Interesting)
The percentage of non-FOSS which is documented and the percentage of FOSS which is documented are pretty similar in my experience. Perhaps you are unaware of the incredible 95% of software which is developed commercially, but which is not sold in a shrink-wrapped box in Circuit City. Many companies have inter
Re:FAQ item (Score:5, Informative)
Take a look at freedesktop.org.
* Sharing of sound system - both Gnome and KDE 4 will work with gstreamer
* Joining of messaging system. It was dcop (kde) and corba (Gnome). Now both will use DBus
* Common themes that make kde and gnome apps look the same.
Plus lots of 'small' points. Both follow the
Re:I hears yah (Score:4, Insightful)
"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:I hears yah (Score:5, Funny)
Just because you can have something doesnt mean you should.
+5 (Obvious) (Score:2)
Re:+5 (Obvious) (Score:4, Interesting)
People feel overwhelmed and decide not to choose anything.
That is basic psych.
http://www.google.com/search?hl=en&q=too+much+cho
Re: (Score:3, Insightful)
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 an
de facto standards (Score:3, Interesting)
Nothing to see here. Market forces and ease of use win over features, stability, or quality.
de facto arguments (Score:2, Insightful)
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
As in (Score:2, Insightful)
Re: (Score:2)
Choice Wins (Score:5, Insightful)
Re:Choice Wins (Score:5, Insightful)
They're all similar. They are web apps which did similar things, so I wrote the applications in similar ways using similar technologies. The build similarly, they install similarly. I would choose new technologies as I went, if they were clearly better but I tried to fit them into my existing assumptions.
Choice is great if you are a rogue cowboy developer. Lot's of stuff all over the place, bits and pieces thrown together. I remember a project we had here, it'd been outsourced to some third party. It came back with just about every piece of free open source software you can imagine. The data entry screens were Java running on Apache, the reporting screens were Python, the admin screens were running Perl scripts. The data entry stuff used Oracle, the reporting used postgres. The whole thing was tied together with some other bits of glue and tape. Thank God the morons who wrote it were horrible architects and the thing couldn't scale, otherwise this piece of unmaintable crap might have ended up in production.
But when you're trying to write documentation to hand stuff off to the next person, it is so much easier if what you have left behind is all similar to other stuff. It's just so much more maintainable, and easier to train the new guy in.
That's what wins in the long term. It's not raw freedom and choice, it's making intelligent choices and then sticking with them.
Re: (Score:3, Insightful)
And how do you plan on makng inteligent choices without 'raw freedom and choice'? The only point that I can take from your post is that lack of choice is (badly) a replacement for good management. Well, that is a nice point, but it doesn't seem you where trying to make it.
Hmm (Score:5, Insightful)
Re: (Score:3, Insightful)
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
Not that simple, sadly (Score:5, Insightful)
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
It's not the choice (Score:5, Insightful)
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.
Re: (Score:2)
Re: (Score:2, Insightful)
You assume that everyone else likes wha
You're looking at the wrong market (Score:3, Insightful)
What you want requires a commercial distribution target for pre install on low end consumer grade equipment. Even ignoring the Microsoft tax, such a proposition is a bit shakey, financially.
Re: (Score:2)
I would happily spend money on a solid linux distro that does what I want it to. In fact, I'd pay a premium over the competing version of Windows. The problem is that for that money I expect it to, as you said, feel like a commercial OS.
I'd really like to see better development environments (eclipse makes me want to wretch, netbeans is pretty slick). I suppose I'd consider java again if we can get everyone off of blackdown and on
Re: (Score:2)
I'm not disagreeing with your post. I will however try a somewhat different angle with little or no opinion as to MS functionality.
The problem isn't the choice, it's the research involved in trying to make an educated decision and then make a transition. I say make a transition because the fact of the matter is that MS rules. MS-centric is easy. You are a MS OS and app shop or you are not. It is easy to choose MS server and workstation OS, MS Offi
Re: (Score:3, Insightful)
Seriously, I appreciate and agree with your comments. But more than that, the fact is that FOSS vendors do not promote a default modern development environment that budding application developers would appreciate. Its all geared toward system-level developers (which probably explains why our applications are managed in centralized repositories as if they were just another part of the OS).
Its all terribly backward when applied to the personal compu
Re: (Score:3, Funny)
Sigh...
It is idiotic posts like this that make us all dread these types of stories on Slashdot.
Hits the nail on the head... (Score:3, Insightful)
Re:Hits the nail on the head... (Score:5, Insightful)
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").
As if choice is inexistant on MS platforms (Score:4, Interesting)
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.
Re: (Score:2, Insightful)
AFAIK, managers don't want to have to spend the time making
The reason why everyone uses Microsoft.... (Score:5, Insightful)
...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.
Consumers hate choice (Score:3, Insightful)
Consumers would get confused if they had to choose from 15 different versions of laundry detergent, so we only have Tide.
Re:Consumers hate choice (Score:4, Insightful)
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.
Re: (Score:2)
Lifetime Lock-in? (Score:3, Interesting)
It's not a lifetime lock-in when they discontinue your entire development environment and language. Yep, by discontinuing the VB6 language they saved us from that terrible lock-in. Now we are free to re-type those millions of lines of code (and years of effort) in another language on any platform we like. How thoughtful of them.
Spooky (Score:2, Informative)
Re: (Score:3, Insightful)
The fact is that for large application development, Visual Studio IS a fantastic tool and I wou
monoculture bad (Score:4, Insightful)
Variety, for example, is necessary for adaptation, creativity and resistance to disease.
Thanks, we know (Score:5, Insightful)
Guess what? We all know that. We've tried Eclipse and KDevelop and Glade all your other tools. You have pretty cool languages but you insist on keeping your barriers artificially high by forcing a primitive toolset on everyone so that only the anointed few can develop software for your platform.
Of course one of the core problems is someone like this, who from the article seems like the quintessential "Microsoft sux" type-A personality suddenly realizes that Microsoft (and Borland and others) have been writing far superior development tools for the past ten years that actually increase developer productivity and having great success at it. What an idea! Having to learn 14 different tools to get something done might be good for bragging and leetness, but they kill productivity. In the real world, that kills the deal.
Imagine what kind of killer product you would have if you paired Ruby with a good IDE and a good graphical debugger. Or Python. A good front-end to MySQL that's actually easy to use. Or an admin tool for Apache that makes sense. But "ease of use" is not "leet", so no dice. "We don't want VB in Linux". That's a great attitude, and it will continue to perpetuate the idea that Windows is the only "easy" platform to write software in, with Microsoft tools. There's no reality distortion field here - that's just the truth.
So much potential wasted because of a culture that idolizes unecessary complexity as if it were a badge of honor.
Re:Thanks, we know (Score:5, Insightful)
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?
Re: (Score:2)
Re: (Score:3, Informative)
Eclipse w/ PyDev is fairly killer and not difficult to set up. Objective-C w/ XCode and Interface Builder is also very nice to work with.
Re: (Score:3, Insightful)
- Exception handling is much better. Rather than having the compiler complain when I forget to handle an exception, it encourages me to wade through many pages of docmentation and manually trace it.
- Generics have a great naming convention. Instead of being able to remember 1 name and interface for a class, I need to know 2. It even encourages me to learn both by forcing me to modify sizeable portions of the code when moving from non-generics to generics.
- The do
Re: (Score:3, Interesting)
Maybe (Score:3, Interesting)
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.
Self-defeating argument (Score:2, Insightful)
So by his own admission, XFire and AXIS don't compete with each other directly - they're different tools for different jobs.
The solution to
This is dumb (Score:2, Insightful)
Here's another reason... (Score:3, Insightful)
And before someone drags out the dead horse named "why don't you document some of these projects", the answer is I can't document something I can't figure out how to use. And as others have already pointed out, a lot of open source software is not intuitive.
Apache vs IIS (Score:5, Insightful)
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.
Re: (Score:3, Insightful)
On the other hand, once you have things working:
Commit Apache config to SVN. Put common config in one file, per virtual host configs in their own files.
Checkout config(s) on new box, with automatic merging of base and per virtual host configs.
Reliably roll out the same configuration multiple times, across host upgrades, reinstalls and datacentre moves.
Do the same thing for every service you run. One host? Ten? A hundred? A thousand?
The end result of the difference bet
Re: (Score:3, Insightful)
Easy... cut'n'paste in the config file. But on IIS... I wouldn't know where to begin.
Re:Apache vs IIS (Score:5, Insightful)
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
Re: (Score:3, Insightful)
Take for instance setting up a DHCP server.
Task: Switch 100 hosts from static IP address to DHCP, configured to give them the same address they currently
Won't be long now. (Score:3, Insightful)
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.
Oh, god, what bullshit! (Score:3, Insightful)
The whole "choice is bad" meme is complete and utter nonsense. http://angry-economist.russnelson.com/barry-schwa
Because everyone uses windows (Score:3, Insightful)
If you have a windows shop your stuck with it. Borlands tools do not include things like the VBA for office.
FOSS allows you to CHOOSE your monoculture .. (Score:4, Insightful)
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.
A question of self-responsibility (Score:3, Insightful)
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.
DOH! or, How to write an uninsightful article (Score:3, Insightful)
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)
If only I could get a look at the user-agent strings to see how many of the "all praise consistency" crowd have posted their comments under Firefox. Those of you who did should feel a small twinge of moral ambiguity the next time you open a page under tabbed browsing. Microsoft only came out with tabbed browsing when choice put their back to the wall. I was reading the other day that ninety odd percent of the world's food production is confined to twenty odd species of plant and animal. While we're on the subject of restricting choice for the greater good, I hear that arranged marriage offers many practical efficiencies.
Definitely (Score:3, Interesting)
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
If that's the case, shouldn't Apple be in the lead (Score:3, Interesting)
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.
Linux has lots of monocultures (Score:3, Interesting)
* 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.
Strategic Incompetence (Score:4, Insightful)
Variety, too spicy? (Score:3, Insightful)
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.
MS's anticonsumer tactics (Score:2)
The way to "fix" this is to help others to migrate to Linux systems. With the open source advocates pulling - and Microsoft pushing (with their anti-consumer acts) it's a sure win for Linux. It's going to take some time to get there, though...
It's those MS tactics that treat consumers like criminals like Activation and WGA/WPA that have finally driven me away from MS. Though I'm using Windows now my desktop replacement PC came with Linux preinstalled, I haven't compleatly switched yet due to not having