Five Fundamental Problems with Open Source? 814
meriksen asks: "I found a very interesting paper which I am sure will stir up a hornets nest.
Despite the growing success of the Open Source movement, most of the general public continues to feel that Open Source software is inaccessible to them. This paper discusses five fundamental problems with the current Open Source software development trend, explores why these issues are holding the movement back, and offers solutions that might help overcome these problems." What do you think of the issues given in this paper, and how do you think the Open Source community should address these issues?
"The lack of focus on user interface design causes users to prefer proprietary software's more intuitive interface. Open Source software tends to lack the complete and accessible documentation that retains users. Developers focus on features in their software, rather than ensuring that they have a solid core. Open Source programmers also tend to program with themselves as an intended audience, rather than the general public. Lastly, there is a widely known stubbornness by Open Source programmers in refusing to learn from what lessons proprietary software has to offer. If Open Source software wishes to become widely used and embraced by the general public, all five of these issues will have to be overcome."
But... (Score:3, Funny)
*ducks*
Re:But... (Score:5, Informative)
Is she high? (Score:5, Funny)
I enjoy watching violent puppy rape.
Lumping the latter in with the former helps no-one, least of all the puppies.
Re:Is she high? (Score:3, Insightful)
Violent puppy rape is not consensual sex between adults. Using the former term to refer to the latter act is incorrect and makes no sense.
Free Software IS Open Source software. It says so right on the label. Some, but not all, Open Source software is free software. In other words, Free software is a perfect subset of Open Source software. Using Open Source to refer to both is technically correct and should be perfectly acceptable. Using Free software to refer to both would be incorrect.
Re:Is she high? (Score:3, Informative)
"...buy me an acre of land,
between the salt water and the sea strand."
Re:Is she high? (Score:3, Insightful)
And I didn't say she wasn't referring to Free Software. She's referring to both. To go back to the puppy analogy above, referring to puppies necessarily refers to poodles. Not all dogs are poodles, but all poodles are certainly dogs. One needn't refer to "puppies and poodles." The term "puppies" necessarily includes poodles.
In a discussion of the relative merits of poodles, it might be appropriate to speci
Re:Is she high? (Score:3, Funny)
Just as squares are a subset of rectangles... (Score:3, Insightful)
Maybe a better one is...the difference between sex between consenting adults trying for a baby and sex between consenting adults who just want to spread some love in the world.
A pre-requisite of a program being Free Software is that the source is open, this is pre-supposed by the 2nd and 4th freedoms. The reason for the source of Free Software being open is ideological.
The reason for "Open Source"(
Re:So right but so wrong (Score:5, Insightful)
So what you're really saying is "hey, you didn't have to pay for it, so just sit there and shut up about how bad it is. We don't care about your problems with it and we're not going to fix it. If you think you know so much, why don't you go fix it?"
And people wonder why average users consider OSS proponents to be arrogant and egocentric?
Nothing pisses me off more than someone who demands the world for free, then bitches and whines because they can't have it without putting in an effort.
And some people, instead of putting in that effort, will choose to simply buy proprietary software right off the shelf that does what they want, how they want it, and without them needing to learn how to program in Perl, Python, C++, and learn the intricacies of vi. And Linux will remain within the reach of only those who have the technical wherewithall to use it or the stubborn patience to learn it (about 5% of the world) while everyone else goes and buys Windows. Linux users feel all smug, superior and happy while Microsoft laughs all the way to the bank.
But hey! Linux users can feel all smug, superior, and happy knowing that they "put in an effort." And that's what's really important at the end of the day, right?
To paraphrase you, nothing pisses me off more than someone so damned unbending and stubborn that they're willing to take a platform I believe in (Linux) and refuse to allow it to mature into something that could displace Microsoft. Instead, you'd prefer we return to the Bad Old Days when users had to conform to the software instead of the other way around, and everyone needed a Computer Science degree in order to work a PC. I'd prefer we move forward instead of backwards, embracing new users and accomodating them. You'd rather we just slap them around and chastise them for not picking up a C++ and learning how to program. Elitist, indeed. And ultimately self destructive.
Re:So right but so wrong (Score:3, Insightful)
A maintainer of a Open Source or Free Software project is under NO OBLIGATION to fix anything, or even to guarantee that it works at all. It says so right in the standard disclaimer, its provided in the hopes that its useful, nothing more. If it doesn't work, the only person you can rely upon to fix it is yourself, and it is nothing but whining to expect someone else to ix it for you, so yes, they can just sit down and shut up if all they're going to do is wh
Re:So right but so wrong (Score:5, Insightful)
I'm pretty sure even Linus isn't that religious about this. I don't think your goal for Linux can be imposed on volunteers who might have other goals.
In the past, I'd make a concession at this point and say "it's a good goal anyway." Lots of people have that goal. But nowadays, I can't even concede that. I'm really thinking that Linux needs to extend its reach to power users and stop there. I don't think Linux should try to displace Microsoft. Instead, I think it should get comfortable being used by the 25% of the population that is fairly tech-savvy. Leave the other 75% alone. They come with too much baggage.
Well now this I agree with. I think the rudeness and discourtesy some developers show others is a big problem. I just don't think the solution is to be doormats. For better or worse, the Open Source model puts developers on par with end-users. This becomes collaborative, and both sides must cooperate. If one side is rude or demanding, the other has every right to walk away. If that means a project run by assholes ends up stuck in a niche of a niche and never gains market share, so be it. If that means a project gains huge market share but deliberately draws the line at 50% of the population and says "we're fine with the smart half, but we're not going to be able to accomodate the other half" then so be it.
As usual, I think there are courteous ways to say no (such as "I'm sorry, but that's a lot of development time and we have no one to spare") and there are rude ways (such as "build it yourself noob").
Re:So right but so wrong (Score:5, Insightful)
I say, "What's wrong with that?"
Is there some inviolate law that says people have to program for others for free (as in "with no charge")? I hear Marx muttering from his grave, "...from the programmer to the end user...".
If you don't like what you get without charge, then either expend the effort to change it, or pay someone to do it for you. I don't expect doctors to treat me for free, or lawyers to represent me for free, so why is there this perception that those that provide software without charge should somehow be obliged to meet some arbitrary whim?
Granted, ease of use translates into popularity translates into greater support, and those that care about software popularity might make the effort to consider usability issues. Hint: that may not be the prime developer of a particular piece of software.
Linux was not created for your benefit or mine: it was created by Linus Torvalds for himself. Of course, others with similar interests shared and contributed to that effort, and the synergy is amazing. But the fact that it is useful to you or I is happy coincidence.
Elitist, indeed. And ultimately self destructive.
You know, I have a brother in law that is seriously into motorcycles. He goes on and on about minutae of bikes that I barely understand. Elitist? Perhaps. But, he does not require or expect me to share his interest or desires. And, I do not expect him to explain things to "my level". Why is it, then, that we expect open source and free software programmers to "owe" something to society? Ironic how free software, wrongly criticized for being "communist" suffers under accusers far more "red" than it's protagonists.
"Ultimately self destructive?" I suppose if a popularity contest or some measure of market share is the issue, the argument might hold a drop of water. But, that isn't the issue, and never was. If free software requires popularity, it is only because opponents of the philosophy behind it would seek to use the force of corporatist-purchased government law and force to extinguish it's fire. Frankly, with IBM and others "on side", I don't think we need to worry about that.
I am not a free software or open source zealot. I believe that the only way to produce mass-market user-interacting software is with the kind of market research that can only be funded by providers of proprietary software. That said, there are large underlying components of such software that could be leveraged in other areas and will soon be supplanted by free alternatives, commoditizing them at zero cost to end users. The line has been drawn between effective free operating systems and non-free applications and services. The question is how much will it move into the application space? My bet: "Not very much."
Free office suites and web browsers will exist, of course, but will generally play the "compatibilty catch up game" with their most popular non-free counterparts. They will be standards-complient and Microsoft-incompatible. Maddeningly, standard non-conforming software will continue it's popular ride. The market, after all, is not made up of a majority that can evaluate the benefits of the free vs. non-free alternatives: they get their decision-making input from TV. I've yet to see a television ad for Apache (notwithstanding in the context of IBM hardware and support).
So right but so wrong - but STILL so right (Score:3, Interesting)
So what you're really saying is "hey, you didn't have to pay for it, so just sit there and shut up about how bad it is. We don't care about your problems with it and we're not going to fix it. If you think you know so much, why don't you go fix it?"
Why, yes. That's exactly what they're saying.
And why not?
People ARE getti
WHAT??? (Score:4, Insightful)
(Coming back to reality) OSS does have problems. In my experiences the problems are not techical but are with the interface. I started using Linux in 1998 and over the past six years the UI has improved. Linux is a mature OS and can no longer be considered a hobby OS but with that being said the interface, (KDE, Gnome, ect.) is still not as clean as Windows.
Re:WHAT??? (Score:3, Insightful)
Something's still wrong here.
The webserver shoulda been running apache... (Score:3, Funny)
Re:The webserver shoulda been running apache... (Score:3, Informative)
Or checking to see [netcraft.com] if it actually DOES run IIS?
Sheesh.
Re:The webserver shoulda been running apache... (Score:5, Funny)
And as everyone knows, females are the only members of the species who seem to need documentation anyway... What male would ever admit to needing such a thing, unless he was out of toilet paper!
Except... (Score:5, Funny)
Motivation. (Score:5, Insightful)
The solution is to provide motivation to write for someone else. There are a lot of companies out there making a lot of money off open-source, selling hardware or services. If they want open-source programmers to write code differently, they need to provide some motivation for that change. One possibility would be an annual award program which could include - for example - a "best documentation" category. The combination of a cash prize (it needn't be large) plus the bragging rights for having won could provide the necessary nudge to improving open-source code.
Re:Motivation. (Score:5, Insightful)
Re:Motivation. (Score:5, Funny)
I sure don't want to get my software from somebody with the same mentality!
Re:Motivation. (Score:3, Interesting)
Exactly. UI design requires either directing force or a seperate person taking an existing project and making it user-friendly.
The very cream of the crop open source software always has both, and is always funded somehow.
Who would aspire to write a clean user interface for joe blow's project that might be dead or obsolete before you get done with it?
Re:Motivation. (Score:5, Insightful)
Well, for one, if the code is open, then the project isn't really "dead". Just fork your version and go on with life.
Coordinating your patches with Joe Blow's adding of new or improved functionality, that might be a more reasonable concern.
Jay (=
My thoughts (Score:5, Interesting)
Good UI design is hard. A good UI designer might not even be able to code and hardcore coders generally don't make very good UI designers. It's simply not what they're interested in and so it gets only as much time and effort as is absolutely necessary. We, as a community have built some wonderful code, but not many in the community are actually UI designers. We need to find and motivate more of these people.
2) Documentation
Documentation is time consuming and not very rewarding for coders. As with UI designers, we need a large group of people who get kicks out of writing documentation and there are just too few of those special people. We need more of these people too. Trusting these tasks to the coders isn't enough.
3) Feature-centric development
Features are rewarding for developers and guess where they put their time.. Project managers are meant to drive the scope and direction of a project. Most of time, the project manager is the lead coder by default. Got to entice a few of these management types over too..
4) Programming for the self
This has an almost identical effect to #1 and the solution is the same. People who are good at usability issues must be found and enticed to contribute. Unfortuantely, we don't have much to offer in reward. Recognition? Nope... The coders/project managers get the credit for the released program. Money? Nope.. We're not talking about commercial software. Beer and Pizza? That's probably our best shot, but I'm not convinced.
5) Religious blindness
Blatently wrong, at least for a significant population of the community. Quite of few recent articles soundly debunk this.
So, it's not going to "fix" itself and there is not much we can do to alter the situation. People are doing this for fun. If it's fun to work on features rather than write documentation, that's what they'll do. Commercial software will always have an advantage in this respect because people are paid to do the work they don't enjoy.
Re:My thoughts (Score:5, Interesting)
With no intention of "tooting my own horn," UI design is something I excel at. In addition, I know how to code, I understand how to integrate the two and I know that those two things are often exclusive to each other. However, the few times I've been involved with Open Source projects, the "project managers" have expressed a disinterest in enhancing the UI for any of their software since they felt that the user base wasn't the kind that would benefit from it. Granted, that makes perfect sense, but in the long run, how many users will start to look for improved UIs as Linux moves to the desktop? I feel that poor UI design is PRECISELY the reason Linux isn't there yet, and I think for it to truly succeed on that level, they need to get some of design's heavy-hitters to bear their expertise on it. It isn't difficult to learn how to code, especially for designers since they already have an instinct for detail and "cleanliness" which carries over well into the coding world, but its exceptionally difficult for a hard-core coder to learn how to design well since its never been something they experience to the same degree as others, especially new users.
If Linux is to truly compete as an alternative to Windows, it needs an interface that provides the ease of use and flexibility that companies such as Apple and Microsoft use in their products.
It's not even that Microsoft's UI is particularly good, its that people know how to use it, and even then, most of those people use it poorly. Linux has the exceptional opportunity to set a new standard for usability.
Re:My thoughts (Score:3, Interesting)
If I could verify that and I was able to hire people right now, you'd have an interview tomorrow. It's easy to delude yourself into thinking you're good at both, but if it's actually true, you'll be in high demand.
Also, remember that we are talking about UI design, not UI coding or graphics design. Those are completely separate skills.
the "project managers" have expressed a disinterest in enhancing the UI for any of their software sinc
Re:My thoughts (Score:3, Insightful)
I also think the author of the article doesn't understand how open source projects get started and evolve. My impression is that most start from the individual "scratch an itch" program and then grow and evolve from there. This is, I need a program to do X so I write a command-line program to do X. I know where (newsgroup, whatever) other people are who might be interested in X hang out so I post about my program there. If enough people are interested, it becomes a real open sou
Re:My thoughts (Score:5, Insightful)
I agree with all points in the original article. I also agree with your indications of where the solution lies to (1)-(4). However I can't agree that there isn't a significant problem of religious blindness.
As just one example, take the issue of the MDI interface. Mentioning the lack of MDI as an issue on /. is likely to result in your karma being wacked with a chainsaw. But the reality is, some people with experience with all four ways of doing this find MDI easier and more convenient. Yet open source projects consistently refuse to add MDI as an option.
The four ways are, of course:
I for one have experience with all these approaches, yet I still find the lack of MDI on Linux annoying in the extreme, and the alternatives less than convenient. Especially in the Gimp. The lack of MDI there really shits me.
Re:My thoughts (Score:5, Interesting)
I suspect you are actually talking about framing different windows that make up the interface to one document, such as various toolbars and control panels, so that they all move together. On more modern programs they are often "tiled" to be adjacent to each other and you cannot overlap them.
Please don't call that "MDI", as the term in wrong. Perhaps "single window interface" is more accurate, especially with the newer tiled ones.
Personally I don't think single window interface is necessary, except for an annoying bug that is in Windows and has been copied on all the modern Linux desktops: the fact that clicking inside windows raises them to the top. This makes use of overlapping windows almost impossible, and has forced everybody to go to a tiled arrangement, or framing a hierarchy of child windows, so that the raised windows do not obscure important things.
It would also be helpful if windows could be identified as belonging together in some way other than the child stacking order, so that iconizing the main document could hide them all, and they only take one entry in the taskbar. This is the other reason for the single window interface (in programs like Photoshop which still allow overlapping inner windows), and a lot of the reason for multiple desktops in Linux.
Eye candy != user interface design (Score:3, Insightful)
Re:My thoughts (Score:3)
I think you may be both missing and proving the point at the same time
Re:Motivation. (Score:3, Interesting)
Re:Motivation. (Score:5, Interesting)
UI is a bit tricky to solve in that way, but if a push to make all OSS API-driven is popular, then other people can create UIs for OSS developed software (eg. PHP front ends, windows GUIS, Java GUIs, whatever).
This is true (Score:5, Insightful)
Re: (Score:3, Insightful)
Re:This is true (Score:3, Insightful)
BULL EFFING DOG P00P!!
Have you read the user's manual for Windows lately? Oh wait... did you even get one?
For effs sake. This documentation issue is complete crap. We're going to match documentation which isn't "idiot friendly" vs. documentation which is nonexistant?
This is complete crap.
bad docs not unique to open source (Score:3, Insightful)
Just ask Microsoft what Office is:
Microsoft Office XP Professional puts the
er ... (Score:3, Insightful)
Um, no (was Re:er ...) (Score:5, Insightful)
Make it good enough that ordinary users demand it, and adoption will come automatically.
Re:Um, no (was Re:er ...) (Score:3, Interesting)
This is a typical sort of 'engineer' type comment, naively thinking that people make rational decisions based on which products are technologically superior than others. The vast majority of people do not. Mostly they just use whatever everyone else they know seems to be using, and/or what they happen to already know how to use. If you made Linux far better than both Macs and PCs as desktop systems tomorrow, and they seamlessly ran all Windows and Mac apps, you still wouldn't get more than an additional tin
Re:er ... (Score:5, Insightful)
First off, it does ship on a minority of new computers. And, heck, it's about as easy to install Linux as it is to reinstall Windows.
Secondly, and more importantly, OSS isn't widely adopted because, while free, it doesn't work as well or better than its proprietary counterparts in all aspects.
A fine example of this is GIMP. I've installed it at home and at work, but I wound up doing most of my edits in Photoshop today because it does the task better.
(Another good example of this is OOo; if you want a summation, check out my journal.)
Re:er ... (Score:3, Interesting)
Mind you, I can see some uses for PhotoShop, but for those places I prefer Deneba Canvas. (And I prefer version 8 to version 9.)
I do, however, wonder what the menuing system will be like for the next version of the Gimp, and when it will hit the fink. (I haven't yet
Installers (Score:5, Insightful)
Re:Installers (Score:3, Interesting)
GUI design (Score:5, Insightful)
I think she missed the biggest reason of all here: Designing a good GUI is very hard. Wait -- let me further clarify that: it's very, very hard.
Designing a GUI from scratch requires a sense of aesthetics (balance, color, flow) and the ability to decide exactly what needs to be up front, and what needs to be hidden behind a menu, option button, or some such. Frequently the developer will have a fervent opinion about "this is the most important thing, it must be on top" whereas a good user interface designer can step back and see what will work for the users. A good UI designer will also run user acceptance labs to test their designs. Many open source projects end up with little more than "Hey Bill, would you check this out for me?" And Bill, being aware of the project from its inception, and having heard about it over the lunch table for the last five months, already posesses a deeper understanding of the task that prevents him from being able to adequately judge the design.
Apple, of course, has always been at the forefront of GUI design (at least as a commercial success, I'm fully aware of the contributions of Xerox Parc, et al.) I believe this comes from a strong, single, visionary designer, a rigid set of GUI design guidelines that must be absolutely followed, and a corporate mindset that the GUI is the most important aspect of an application. They undergo rigorous testing procedures, and countless user feedback labs. Microsoft hasn't ever caught up to Apple in that respect, although they do have a good set of GUI guidelines and some very strong products.
But nobody in the open source world wants to be "told what to do". Also, nobody in the open source world feels they have the authority to stand up and say "you must design your GUI in this fashion." Some projects, of course, will have beautiful, solid GUIs thanks to having a quality GUI designer on the project. But that currently doesn't pan out beyond the scope of the single good application. So the consistency isn't there, and it will never be there until someone puts together a GUI committee that has the authority to stamp "Tux Approved -- Good GUI Inside" on open source projects. It will require a single, strong voice. And that voice has to have a world of talent behind it. That's a mighty tall order for hundreds of grass-roots volunteer efforts to come up with.
Re:GUI design (Score:5, Interesting)
Okay, I want to take exception to that. Writting a good GUI interface, isn't that hard. I'll admit that what I do isn't directly applicable to the disucssion, but it has a grain of facts that everyone ignores about OS GUI design.
I work developing internal applications for a company. Essentially everything is a web application that ends up being for the most part, a data entry job. There are plenty of other aspects of it, but that's a lot of what we do.
In the end, I personally have made the user interface probably 3-5 times faster for the user to use. We are a far more efficient company, because of the tweaks we've done.
Simple stuff, like changing the order of items on an interface. Easy stuff, like taking the web page to a my sister to have her pick nice colors, and a good font. To more complex things, like realizing that we read numbers that are essentially the same over, and over on the phone. The phone people had to figure out where the change in the number happened, and then say "starting at ....". Now, we use a color coding system to notate where the differences are. We moved elements around to take better advantage of the Wheel mouse. We changed the ordering and names of specific items in drop down buttons so that a single letter could choose them. We used Java script so that in 99% of the time when you fooled with interface control X, control Y should be set/reset that was done automatically. We duplicated controls and keep them in sync with JavaScript. So that sometimes it's handiest to scan down a page on the left, but the most spends all of it's time on the right hand side. So we duplicated the controls, so when reviewing that everything was done properly involved scrolling thru identical controls, but the actual clicking was done in a cluttered area of the screen because that is where other important controls were.
All of this could easily be done by me (the programmer), because I used to watch people use the software. I used to see people spend a bunch of time, using their fingers trying to find changes in numbers. I realized how much time they wasted with their mouse. I realized how often they had to cut and paste numbers into lookup forms, of flip screens to get simple information they need. So we made direct links for the lookup forms. We have customized each screen so the common information you need from other screens is duplicated at the top of the one you are working on. We have done specific testing to ensure that certain pages opened a new window automatically, so the user doesn't lose the page they are on (used to happen all the time).
Now, the reason I'm talking about all the little changes, is that, they were only done because I watched users. I saw what they spent time doing. I saw what frustrated them. I paid attention to what they griped about over the lunch hour.
Because I was in the same room with them, and I could interact with them. I had a specific advantage that most OS people never have. I can watch my users use my software, to see what they find clunky. In a lot of ways, OS people would be better off to develop an X Windows recording application so they could ask users to record their software usage for later review. So you could see what the user does. How they spend their time. What they think the quickest way to do something is.
A lot of OS people, precisely because it is a large distributed population, can't see how much people struggle with interface. They can't see how many problems it creates for people. How much time was wasted fiddling with idiotic layouts. Now my specific task was simple, because I had a fixed task, that a person kept doing nearly identically. Of the them got trained to use the software identically, and they shared information about the quickest ways to get things done. So I
Reason #6 (Score:4, Funny)
(I keed! I keed...)
well.. (Score:4, Insightful)
Re:well.. (Score:5, Insightful)
It's a perfect example of a techy who may be more intelligent than Einstein, but is still dumb when it comes to understanding people.
People don't want to have to be educated about software. It's a tool, like a hammer. You don't have to take classes to use a hammer (or most carpentry tools -- unless you want to be a master craftsman).
When I started my business, I hadn't programmed in 10 years. At first I was extremely frustrated because programmers are so self-centric that they don't get the fact that, to most people, a computer and the software is just a tool. They want to buy a computer, plug it in, turn it on, AND DO THEIR WORK -- not read manuals or books -- just DO THEIR WORK. Then I spent several years building up the software my business is based on. Without wanting to, I had to become a programmer and think of nothing else for over 2 years. Then I understood the programmer mindset -- GUIs are a pain to write, using tools that think logically to provide a intuitive interface is hard (and other similar attitudes).
That's when I realized the problem with open source software is that many of the programmers are simply incapable of listen to thers or understanding there are other points of views regarding computer use that are just as legitimate as theirs.
If you want to rant about GUI design, go ahead. If you want to complain about the "shitload of people" who need "a bit of eduction," please do. But, after you do that, don't sit back and wonder why people are paying hundreds of dollars for programs that do what FOSS programs do, but do it in a way that is easier for users to grasp.
Until programmers learn to look at things from the point of view of a user who JUST WANTS TO DO THEIR WORK, the FOSS will always be relegated to the back room where geeks who can't understand human interaction work and live.
Re:well.. (Score:3, Insightful)
No, it's not like a hammer. A much better analogy is a car, and guess what, you do take classes to use a car. It's called Driver's Ed. Anyone under 18 is required to take it before they can get a license (at least in my state, might be different elsewhere).
All of these criticisms (Score:5, Insightful)
Product Websites / Download Options (Score:5, Insightful)
Re:Product Websites / Download Options (Score:3, Funny)
not.
Re:Product Websites / Download Options (Score:4, Insightful)
Next thing I do is decompress the first one and check the readme. For some weird reason it wanted me to go through the hassle of compiling it myself... now I could have learnt how to compile from the command line, but I just felt lazy and the project didn't look THAT great from the screenshots so I ended up trashing it.
The other one wanted me to compile it too. And I said what the hell. So I run "sh build.sh" or something similar to build the code and the next thing I know is it won't compile. Reading through the docs I find out that there's like 5 or 6 libraries I am supposed to download and install in my system. SDL, ziplib, can't remember what they were... but I just decided to trash it too.
My point? I was interested in two open source projects and I ended up trashing them just because the developers didn't bother to make them easy to install. Because the developers didn't bother to make the process painless to someone who still has to learn the ways of Linux (actually OS X is based in BSD).
I know, many people here will probably tell me that compiling source codes from the command line is as basic as turning on the computer. But as an end user, I felt highly uninterested in learning the inner workings of my system or the programs I downloaded.
Diego
#5 seems odd (Score:5, Insightful)
Doesn't seem to me to be specifically open sourcey (sp?) to be religious about technical issues. I mean just look at Microsoft, they are a frikkin' technical monopoly:
John.
i got one (Score:5, Insightful)
ESR's rant over CUPS is something we need more of.
Features vs 'core' (Score:5, Interesting)
You are kidding right? This is probably so much more true of proprietary software (to bring up the obvious - there is no open source clippy). Except for that, it's hard to disagree with the interface and documentation arguments on the whole, however keep in mind the rapid development pace that some open source projects move at, if you look just at the 'stable' projects you will usually find much better interfaces and documentation.
Clippy -- not just for Microsoft anymore? (Score:3, Interesting)
And maybe that's the problem.
I'm one of those guys who can't wait to take a hammer to the options and smash sh!t like that Clippy into the flaming embers of hell itself. Don't hide stuff from me, show me fully qualified paths, give me dangerous options, don't tell me what to do, don't hold my hand, I don't want your useless tip of the day, that kind of stuff. And I hang around with people of a like mind -- my friends are all techies, and they,
Not Clippy..."Links" the Cat... (Score:4, Interesting)
Now if only I could set it up in a "Neko" mode where it can play "chase the mouse" with the mouse pointer...that would be cool.
Note that what I am talking about has nothing to do with the help system. I suspect that the majority of the people who actually "like" the Office Assistants are probably fond of them for toy value, not as a way of searching for help. I seem to remember that the "Dogz" and "Catz" system toy programs were somewhat popular a few years back. Those programs still seem to exist... http://petz.ubi.com/ [ubi.com].
Open Source low on income. (Score:4, Interesting)
One of the items this paper doesn't seem to mention is that with Open Source, you tend to have less R&D money, if any at all. This is what has kept the likes of Microsoft and Apple at the top. They can afford to spend the money on intuitive, user-friendly design. That, and it would help if open source items, such as Linux, were pre-installed on the PC when it was bought. I know it is out there, but not as strong as it would need to be to succeed.
Open Source has tons of money (Score:5, Insightful)
Red Hat spent $700,000,000 on buying out compiler companies and dot-coms, and then the reason their programmers give me for why their software has usability problems is "we can't afford an HCI department."
Linux companies like Red Hat (and Suse, bought out for $200,000,000) have tons of money. It's just that they don't consider usability to be very high on their list of priorities. To these folks, its only the technical stuff and server stuff that matters. Screw having a properly trained user interaction dept that makes their software easier to use.
Agreed wtih the article (Score:3, Insightful)
PROPER TESTING.
When by proper testing, I mean test cases for each and every OSS app is getting released out there. Simply releasing an app as a "beta" and asking for input from random people who will use your app on the web, is NOT how proper QA should be happening. Unfortunately, distros are not any better on this, who are supposed to be "professionals".
Motivation Or: How I learned to stop bitching an.. (Score:3, Insightful)
If I write an application to suit my needs, I will use alpha and beta versions myself, and address any problems that come up. There's no way I'm going to write test-cases and go through a formal testing procedure, because I'm not motivated to produce a mature and complete application...just to do the bare minimum to satisfy my needs.
As for "asking for input from random people who will use your app on the web",
The Issues with Open Source (Score:5, Interesting)
The things that nobody wants to do, but somebody has to.
Nobody wants to think about documentation. Or user interfaces. These things are hard, tedious, and a hell of a lot more boring than actually coming up with stuff to "make things work".
It's the reason why Windows is pretty easy to use. Personally, I think that OS X is the preferred model that many business should think about: having an open source "core" (BSD or Linux, whatever) with standard interfaces, then having the companies business be working on the upper levels: the stuff you have to see, since that's what you can pay somebody to work on.
Novell is taking such an approach, I believe, along with IBM. The issues with how to handle memory and the things that 99% of the people never see, let that get put out there so it becomes stronger. Faster. Better, and if nobody "owns" it, then everybody can use it to make their business better - fosters competition.
But your job is to provide the "service layer", such as with Novell/IBM admin tools to administrate those underlying pieces, or Apple giving you a nice "standardized" GUI where everything just works with the rock solid core.
These issues in the paper are not new - but they're the things that somebody, somewhere down the line, has to fork up for. And that's where I'm content to let a business pick up that slack and fill a product niche on top of Open Source software.
Granted, of course, they play by the rules, and let the rest of the community in on what they did so we can all benefit and get better.
Of course, that's just my opinion. I could be wrong.
Re:The Issues with Open Source (Score:3, Insightful)
I will second that opinion, and run with it a little. But first let me say that this is a self-perpetuating situation: geek1 is using OSS and needs a program to do xyz->geek1 looks on freshmeat->geek finds program for xyy written by geek2 using OSS->geek1 mods xyy program to be xyz program and reposts to freshmeat, playing geek2 t
I agree with this... (Score:4, Insightful)
Little things like this make programming something about 10x easier (which is why most open source programmers do it, even I do it), but really do leave out the general public.
I mean look at the most popular open source programs (going by sourceforge). You have DC++, which has a beautiful interface, much better than its closed source counterpart (also more useful). You have Gaim, again designed with the interface and users in mind.
What is the common factor among the list? A pretty GUI. How many powerful console applications do you see up there? Very few.
The author definetly has a point.
Re:I agree with this... (Score:5, Insightful)
A wrench is a tool, plain and simple. You could have a brand-new engine from a vehicle you've never seen before, and you know that if you want to open it up, you'll probably need a wrench. This program would work the same way.
I'm thinking along the lines of a widget-based GUI tool designed to manipulate text files. Each new application, when you run the install script, would install a "plug-in" into a directory under /etc. These would basically be files (XML?) that describe each application's configuration options. The "wrench" would then map these into standardized windows, with pull-down boxes where multiple options exist, checkboxes for Boolean flags, etc.
In an ideal world, plug-in writers could also organize those options into meaningful series of screens/tabs, so the UI was even more intuitive. But not too much, mind you! The idea isn't to create entire HTML-based interfaces full of graphics etc., where every one looks totally different. The idea is to stay as generic as possible, so that using the tool feels totally familiar after the first few times you do it. Like hand tools in your garage.
Noob installs software. Noob sees message saying, "Thank you, that was successful." Now what? Noob has half a clue enough to figure he probably needs to configure some options that software. How does he do that? Of course, he runs GConfigure, and voila! There's the application he just installed, in that little hierarchical list on the left. Click here, click there, point it to the right drives/directories/database instance, press the Start button, and away we go.
Mozilla (Score:5, Funny)
Now if I can only get her to quit forwarding me those retarded chain letters we'll be all set.
Backward Compatibility (Score:5, Insightful)
Not unique to OSS... (Score:5, Insightful)
This motivation is even more present for commercial apps; developers are asked to add every feature that somebody suggests in a focus group, etc. for better advertising - e.g, We have this feature and $COMPETITOR doesn't! Many of the Windows security scares have been due to poorly thought out features becoming bugs; for example, using ActiveX or VBScript to "spice up" web pages or Outlook's tendency to "enhance" emails by displaying HTML
Interesting points (Score:5, Insightful)
After all, addressing a problem that other guys haven't is a good way to improve the chances of getting ahead.
documentation (Score:3, Interesting)
Re:documentation (Score:3, Interesting)
Code comments are for co-developers who want to work on your code. Code comments are NEVER FOR USERS. Sometimes, developers are the users, but this does not excuse the practice. As a developer who wants to use something, I never want to have to download the source package to get README about how something works, much less have to poke around looking for
Good points, not just OS specific (Score:5, Interesting)
I actually think these are exellent points to bring up about *all* software, as most, regardless of development methodology, suffer from one or more of these issues.
Good at cloning (Score:3, Interesting)
Of course, this effect is amplified with UI/highly integrated applications. When text is the input and the output, it's easy to glue things together with grep/awk and automate with scripts. But the user interface with text is simple, clean and unchanged after several decades. A GUI app inherently begs for some kind of library because few can (or should!) code this stuff from scratch. Fine. Except how often are you happy with the baked-in stuff for all but the simplest apps?
So once you venture from text, you suddenly face the obstacles Microsoft has tried to fix with COM/DCOM/DDE/OLE/.NET/ATL/MFC and so on.
The disadvantage Open Source had vs. Corporate-ware (and I mean *had*) is that chaos erupts with no unifying thing to keep all the GUI and inter-app stuff in line. It seems that the distros are now becoming that unifying force. The downside is that it is getting hard to tell the difference between RedHat and Microsoft!
open source vs commercial development (Score:4, Interesting)
With proprietary solutions, there are full indepth analyses of market need, product placement, user targeting, etc etc, which as far as I can tell, open source projects lack. The mentioned problem of documentation is a good example of this: if the target user is successfully identified, it should be obvious that unless the user is, himself or herself a programmer familiar with open source "documentation", a user guide covering every feature, behavior, and interface should be created. One software engineering practice (to which I subscribe to) is to create the user manual *before* coding the program, and not changing it unless there's a damn good reason.
Move along, nothing to see here (Score:3, Informative)
1. Improving and is nearly a non-issue these days
2. Documentation is more plentiful then most 'closed source' groups. If having less 'Dummy' books means less documentation, it's a negative I can live with
3. Doesn't MS Office count as a Feature-centric project? You can really put MSOffice in place of 'ProjectX' and it would sound the same
4. Sounds like a crappy project to me if the developers know of the problems but don't fix them.
5. There are lots of egotistical elitests, but I've noticed in the wild that there are less now then a couple years ago. If you punch everyone in the face and they all leave, don't be suprised when there is no one left to punch.
Overall it sounds like this guy had a bad experiance with A single project and decided to generalize it with all Open Source. I'd be nice to know what ProjectX is, then we all can get on them over it.
The Notes section seems to get the highlight of the paper.
Re:Move along, nothing to see here (Score:3, Informative)
> Documentation is more plentiful then most 'closed source' groups
This is a load of bull crap. Apparently, you have been a Linux user for a while. When I first started out (last year), I spent hours on newsgroups trying to solve my problems. For that matter, I'm searching NGs right now to find out why my RH upgrade borked. Closed-sourced SW has books, manuals, and ultimately some one you can ask for a fee. This is not the case when you hit
code vs. ui vs. documentation (Score:5, Insightful)
Code can be split into parts and reused. A professional programmer benefits by having a large body of good open source code.
Documentation, on the other hand, is much more likely to be a one-shot thing. If a professional technical writer were to write, say, a terrific GIMP manual, and release it open source, it's not likely that they are going to get anything back that will help them on other documentation projects, at least to the extent a coder gets for releasing code.
Same for UI designers.
Basically, good open source documentation and UI design comes from people doing it as an act of charity, whereas there are good practical reasons for people to write open source code.
Okay, that wasn't what I expected (Score:3, Interesting)
1. The big advantage of open soure - sharing and code reuse - just isn't happening. For example, I'm looking for a new OSS webmail program. I have certain criteria. There are something like 209 projects related to this on Freshmeat. Why? That is no more efficient than a couple hundred closed-source vendors doing separate implementations of competing products. What have we gained?
2. Choice really isn't, sometimes. When I am faced with two OSS projects that supposedly perform the same task, I often find that each lacks a function that the other has, and neither do everything they should. Why don't they team up and make a single, solid project?
I think the answer may have something to do with the inability of people with different skill levels to work together. Or that differing programming styles prevent two developers from ever agreeing with eachother. That's not comforting.
These points have nothing to do with OSS. (Score:3, Insightful)
I'm currently develpoing OSS and getting paid to do it. Overall consitency goes way over 'cream-code'.
My partners don't care about dirty hacks as long as the result is usable and looks good. Thus I'm cutting corners in code-beauty. It's going to be GPLs OSS none the less.
If I'm doing it for free... (Score:4, Insightful)
Re:If I'm doing it for free... (Score:3, Insightful)
Of course it is open source, so if you don't like it you can change it yourself.
Except I can't. I don't have the time, knowledge or inclination. The software or the OS is a tool to aid me in my chosen (or paid) activity. Time spent changing the tools is time I could have been enjoying or earning.
Im my last job, they moved us over from WinNT to Red Hat with KDE. For a while I had two machines sitting on my desk. On one occasion I wanted to print something double-sided. I forget the specifics, but if I wa
Knowledge should be free. (Score:3, Insightful)
fvwm (Score:3, Insightful)
i fully agree that this is a problem. projects like FVWM have it right. with many different programs (taskmanager and so on) on top of their core. All modules have their own manpage and are configured in the core or separate.
So I'm a Windows 2000 user. (Score:3, Insightful)
msdn (Score:3, Informative)
Seriously. All the documentation you could ask for, and then more.
Poor user interface design in Open Source projects (Score:3, Insightful)
> the poor quality of user interfaces, but here
> are some explanations I've heard roaming the
> Open Source circles: geeks value integrity over
> beauty; the gender gap in Open Source
> communities; it's intuitive to the programmers
> so why would they fix it? (see Programming for
> the Self), the belief that a pretty user
> interface can always be designed later once
> they're done the real work, the belief that user
> interface design isn't real work, and several
> others.
I think the two main reasons:
1) Open source developers just don't think about usability - they think about functionality. It's kinda of like a blind spot that naturally develops when you spend all day coding.
2) Good user interface design is very hard. It is a skill that most developers don't have.
When you see a slick application like the Apple i-Apps or pro graphics and video programs, the reason they're nice is that they were designed by usability specialists, who are following interface guidelines and testing the interfaces on actual users.
There are just not enough of these people in the the open source community.
Who cares about the general public? (Score:4, Interesting)
But this doesn't interest me. I don't like Windows, and I can't imagine liking a Linux based Windows clone that is just as easy to use as Windows any better.
The more Windows-like Linux becomes, the less I am interested in running it. I've mostly switched to FreeBSD (I used to be Redhat only).
I use the CLI, I edit with vi, I write lots of scripts, and so on. In my opinion, text based, scriptable interfaces have a flexibility and power that Windows lacks, and which I refuse to do without.
This is not to say that traditional Unix is perfect. I have spent a lot of time thinking about how to make the Unix user interface better and more powerful. I think there is a lot of interesting work that could be done on making Unix suck less. I just don't see building a Windows clone as movement in the right direction.
I understand that the general public doesn't want a better operating system. The general public wants Windows. So feel free to donate your time building an open source windows clone, but count me out.
Doug Moen
Re:Who cares about the general public? (Score:3, Insightful)
Software with crappy or lacking documentation isn't good software, no matter what interface it uses.
Btw: one of the tenets of user interfaces is: if the user requires a manual, then the interface has failed in its task.
Availability, Installation (Score:3, Informative)
Most people simply don't know that GIMP and OppenOffice exist. Or that they can be installed on Windows fairly easily.
Installation.
Some open-source developers just assume that you'll have a compiler handy, and will want to adjust the Makefile to point to the right libraries (which you'll have to compile and install yourself...).
I couldn't read this (Score:5, Insightful)
So let me get this straight:
You say that OSX is a great example of interface design, because real live people have told you so... and KDE or Gnome are poor examples of interface design, because of an imaginary scenario?!?!?!
For the record, I've put people (such as my mother) in front of a KDE desktop, and they've had no problems with it (in fact my mother said how much she liked it.)
Note that neither this, nor the author's experience actually has any bearing on whether KDE or Gnome are usable or not.
Using the exact same methodology in this article, I could prove that MS has no money, that the moon is made of green cheese, and that Iraq has weapons of mass destruction. (Hmm, come to think of it, maybe this guy works for the White House.)
Remember kids, if you can imagine it, it must be true!
*sigh*
Free, cross platform installer that doesnt suck (Score:3, Insightful)
As developers, generally the first thing we do after downloading some new open source software is read the README file. Then maybe the GOTCHAS.. Most users won't or can't pay attention long enough to read the instructions in a wizard based installer, much less a 50+ README. Programmers tend to be fast readers in my experience, many other people are not. So, if you can, include a one click installer and make the program configurable at runtime through a nice, easy to understand GUI.
What "problems" were those again? (Score:3, Interesting)
From the abstract, emphasis mine:
Seems they are only "fundamental problems", if everybody accepts the premise that the highest goal is to become the premier choice of "the general public." I personally don't agree with this agenda at all. In no particular order: Innovation? Quality? Free-as-in-possible-to-use/distribute/complete-acc ess-to-understand/modify/contribute-back-to-the-co mmunity? Etc.
In any case, briefly looking at the list of these "fundamental problems":
1. The lack of focus on user interface design causes users to prefer proprietary software's more intuitive interface.
Do you agree? Is there consensus on this? Is that really a fundamental problem? I'm on fluxbox [sourceforge.net] when I can choose, but are KDE/GNOME/et al. so divergent and/or different from Windows or OSX?
2. Open Source software tends to lack the complete and accessible documentation that retains users.
Huh? As opposed to what, having the same amount of documentation of e.g. the Windows APIs as Microsoft's own coders (who are the competition - Office apps, media players, browsers, etc.)? Oh, wait - it's talking about user docs. Ok, but isn't that always a problem, everywhere? The article offers "Documentation should always cater to the lowest common denominator." The best doc you read was a dumbed-down so anyone could understand it? I'm unconvinced.
3. Developers focus on features in their software, rather than ensuring that they have a solid core.
Feature-creep is hardly more prevalent in open source?!? "Shipping the prototype" is such a standard practice in the closed-source corporate world it's not even funny. Additionally, the article writes about the small 'core' tools doing few things well - I thought that was a fundamental design principle in *n*x.. and subsequently GNU/Linux, BSD, etc.? E.g. mplayer doesn't contain any of the bloat found in MediaPlayer or RealPlayer (been a while since I saw them though, they might've become better..?).
4. Open Source programmers also tend to program with themselves as an intended audience, rather than the general public.
I don't understand this at all, what is the problem? When did Joe User become more important than making the software do what you want? And making it free, Joe User can use it to his heart's content - within the terms of the licence under which you release it. Why is creating software to solve your problem a flaw? If your motto is "General public acceptance or death", it seems to become one..
5. Lastly, there is a widely known stubbornness by Open Source programmers in refusing to learn from what lessons proprietary software has to offer. ;)? But seriously, is it so? Stubborness in hating/flaming Microsoft, etc., perhaps, but surely not using ideas from them (the GUI, Mono, and so on)? If anything, I'd like to see even more divergence from "industry standard 'best practices'".
One problem might be lack of source
Sounds more like (Score:3, Interesting)
With very few exceptions any software publicly available for free is likely to suffer from the exact same problems, Open Source or not. I don't think this is an issue specific to Free Software, but rather software as a hobby. It just happens that there's a lot of Free Software being released as a hobbyist effort.
My own list of strengths and misconceptions (Score:4, Insightful)
Why is this is a debate or an issue? Why do most projects still get this wrong? Having configuration stored in a text file is absolutely the way to go, this has tons of benefits, probably the biggest and least mentioned is that the configuration can be passed around or backed up. So although you spend 3hrs configuring server x and services, you then backup the conf files to a floppy and pop them back in place the next time.
Text config is also the most flexible way to go, you always have the most power and control (or potential for it anyway) with text config. That's great, it covers half the battle.
What does that have to do with the absolutely neccesity to have a configuration program? At the cli I should have two options, the text file direct or ncurses configuration app which offers 99% of the functionality available to me by editing the file directly and does so in an intuitive manner. At the gui I also have two options, the gui based configuration app which works like the ncurses one and editing the file directly. Alot of projects come close (although usually they offer one or the other) but they make said app a one time shot, rather than say, letting me configure, and then *gasp* later modify rather than completely start over my existing config or manual modifications.... and this is produced by the same people who already wrote code to parse the config file and read in the values!
The other issue here is conformity, despite configuring dozens of apps via text file every day about once a week I encounter a new style/format of config file. We need to come up with a standard for this. We also need to work on defaults, I've yet to encounter a project with even vaguely reasonable defaults... defining reasonable as the most commonly used values. As an example, neither postfix nor sendmail actually come "out of the box" configured for the most common mail setup, to use the already set host value, and relay for the most commonly used private subnets (namely 192.168.1.0 and 192.168.0.0) and use mbox files. Other configurations are exceptions rather than the rule and 90% of those exceptions would require no more than a change to who to relay for so why don't these programs come with this default config out of the box?
Installer, binary, source, wizard...
I don't see a real question here either, the answer is all of the above again. The source code of course should be available but is hardly the format of consumption for end users. The binary should be available (at least an rpm that doesn't have dependencies or has them packaged with it) and an installer wizard which helps you arrive at your initial configuration, put things where they should go and install any dependencies which the program needs with just a few clicks or key punches (after all there should be an ncurses version of the installer as well). Nvidia has a good concept with downloading the source if the binary doesn't match the system which the app is being installed on.
Someday someone will figure out that there really aren't many distro's that make use of
Documentation
There should be some! Most I've seen doesn't cover the whole spectrum, either it's for idiots, or it's for programmers or the worst, it's outdated and inaccurate and/or wasn't even vaguely accurate when it was current. For an example, look to grub documentation on installing the bootloader from the native command prompt, you'll find two different general sets of commands to use, the most common method found on a google does not work on any version of grub I've EVER encountered but is faithfully repeated, the commands listed outright wrong.
Generally a basic, and advanced USER guide which don't reference source code or compiling at all. And then a seperate set of programmers documentation kept as curre
What is the end goal of "Open Source." (Score:5, Insightful)
From the article:
The systemic, fundamental flaw with her analysis is that there is no united "open source" goal from which to be held back!
The assumption that all free and open source developers share the principal goal of supplanting or competing directly with more traditional software is just wrong.
For some projects, it may be true, but clearly not for others. Do the authors of ghostview want to supplant acrobat reader? I don't think so. Do the authors of the Gimp want to compete directly with photoshop? Perhaps.
Do Star Office and Open Office developers want to erode Microsoft's share of the office-suite world? You bet.
Do the mingw people want to compete with visual C++ (or whatever Microsoft's latest c++ compiler is called)? I don't think so.
In general, do you think GNU people want to compete with anybody? I don't. I think they just want to be free to create the kind of software they like.
It seems to me that there are a huge variety of goals out there, and in many cases, competing with commercial software is not one of them. In other cases it is. But in my opinion only newbies and idealists believe that free software should try to or will eventually take over the world and put closed software out of business.
What free sofware does is put pressure on commercial software. For example, I'm sure one of the reasons that Microsoft fixed the TCP/IP stack in its newer OS's is because the Linux and BSD stacks are so good. (In fact, I've heard people say that Microsoft just lifted the stack from some BSD variant. I don't know if that is true.) Microsoft also took a lot of heat for stability, once again due to the stability of various Unix-like OS's running on the same hardware. This has forced Microsoft to improve. Finally, now, Microsoft is taking tons of heat on security. We'll see how they react. (In my opinion, this already makes Linux and the BSD's a complete success. They forced Microsoft to compete!)
And of course, Linux is sort of like the blob. Microsoft tries to fight it off on some narrow front, but it just expands around that area and pushes in somewhere else. Whether it's servers, PDA's, the embedded market, or 64-bit systems, or gaming consoles, Linux is there, making life difficult for Microsoft, not out of malice, but just because it is what it is.
Anyway, just my $0.02.
MM
--
Re:I don't agree (Score:5, Insightful)
I do agree to an extent with the writer. The main focus of open source is often from a programmers point of view, so most programmers or computer savy people are more confortable with it. KDE and GNOME have vastly improved, but still have a few weak areas.
In the case of a mac, my roommmate can go to the Mac store and buy a printer, camera, video camer, software, install it and use and not have to think about how to get it running. You can't do that with Linux, there are few if any stores that sell Linux software, linux cameras, linux video cameras, etc, ( except for online stores ). Buy a quickcam 4000 and try to get it running. You must download special software and then 'compile...' I'm sorry but once you start haveing to require a person to compile anything they loose interest if all they want to do is use the computer. Most people think of the computer as a tool to do a task and don't want to f*** with the OS to get stuff done. Redhat and SuSE and several other vendors and programmers have made installing it and using it somewhat easier, yes, but my experience has been Mac is easeier to use, and I use Linux as my primary desktop. Windows is even easier to use.
The difference is that both Windows and Mac have UI designers, that work at the whole look and feel and making things easier for the end user. Most open source projects dont have that and need it desperately.
I think the point that you may have missed in the article is that the design of most open source is by a programmer and used by other programmers who understand all this stuff. End Users dont. I do, but I'm a programmer.
To many of the HOWTOS out there are missing a few things here and there and require a little debugging. They usually cover the majority of cases, but people don't want to read a how to they want to turn on a computer and it just works. The reason cell phones have gained such a huge acceptance today is because you just turn it on and it works. That is what made Palm so liked, was the fact that it was a simple UI. This is what Mac is famous for. The simple to use UI. of course if someone tells an open source programmer that their UI is lacking, they take offense. Hey why shouldn't they! They did it for free.
Bottom line is you get what you pay for!
Re:I don't agree (Score:4, Interesting)
The whole article is right on the money. It seems like the author does not hold any bias but approached open source with an open mind.
Considering the author is speaking about general trends, I'd say these concepts have one common basis: separation between the end user and the developer. Each of these problems can occur (in any project, "open" or "closed") when this separation exists. This feedback loop must exist for a project to be successful, and the article presents five clear reasons why.
1) User Interface Design
Feedback regarding the ease-of-use and intuitiveness of the interface must be communicated to the developer responsible for the UI. Otherwise, users are presented with an interface for which they had no input and therefore could not alter to better fit their needs.
2) Documentation
The developer responsible for documentation must make sure tasks performed by the end-user are fully explained and the information organized in a simple manner. In order to do this, the developer must interact with the end-user to ascertain how the software is actually used as well as the level of knowledge of the typical end user.
3) Feature-centric development
Users focus on how the software enables them to do what they need. When developers know exactly what users need, they can in turn focus their development on what is important to the end user. If they don't know what is important to the end user, then features which are important only to the developer have the opportunity to "creep" in.
4) Programming for the self
An open source project survives (by definition) because people use it. If developers program for themselves, then the usefulness of the application to end users can suffer (where developers are not the end user).
5) Religious blindness
End users are essential in this because they don't necessarily have the same viewpoints as the developer. They just want something that works. By telling the developers what works and what doesn't, the developers can balance their beliefs with the needs of the end user.