


Shirky: Given Enough Eyeballs, Are Features Shallow? 277
cshirky writes "A persistent criticism of open source is that it is more about copying features than creating new ones. While this criticism is overblown, the literature of open source is richer on the subject of debugging than design. I've written an article about Ben Hammersley's LazyWeb.org, wondering whether open source methods plus RSS distribution can do for feature requests what open source already does for bug fixes, namely parallelize the problem in ways not available to closed source development methods."
Too right! (Score:3, Interesting)
Why?
Because access to the source (so we can tweak somewhat) is all thats missing with most proprietary software.
We don't have new needs, except the need for source, the freedom Richard Stallman talks about.
Thats why.
Sam
Re:Too right! (Score:2)
Common people just don't care about it, and simply use the application.
On the other hand, didn't you sometimes feel some application has a weird interface, or strange things in it ? In that case, sure, having the source code is cool, IF you feel like first understanding how it works, and secondly taking the time to alter it the way you want it to work.
Oh, and also sometimes some features don't really need to be copied from closed software (spywares, for instance)...
Re:Too right! (Score:4, Insightful)
Thats utter nonsense. There's always something new that people want. It's called progress. If everyone had said that back in the 70's, we still all be sitting in front of a terminal with tapes whirring around behind us.
Re:Too right! (Score:2, Interesting)
Actually you'll also hear a lot of whining about how processors on PCs these days are "too fast" or an "overpowered waste" heh.
Re:Too right! (Score:5, Insightful)
That's odd. I started programming in the 70's and a lot of what we're working on now is exactly what we were dreaming of then. If anything, we'd have been pretty shocked and horrified to know that we'd still be working on them after <heavenly choir>the Year 2000<heavenly choir> (which once seemed as distant and hallowed, yet imminent and all-conquering as any Messiah or deity)
We cursed the limitations of our hardware and software then, but we worked with them because they were all we had. We'd spend weeks trying to trim a kilobyte or a few cycles out of a loop, not because we were virtuous (we weren't) but because we had to. Those whirring disks ran 24/7 to do crude payroll jobs that would run minutes on a desktop today.
It's been well documented, here and elsewhere, that most of our routine computing doesn't really save us much time, if any, but is simply chasing that elusive 0.1% "better output" (documents, biz data, presentations, etc.) A high school frosh today would be ashamed to hand in a report that looked like the most painstakingly prepared reports prepared for President Nixon. The addition of kerning hasn't vastly improved the content of a high school report.
Among the early computers I worked on was a triple CDC Cyber7600, which (in its initial configuration as a mere dual Cyber6600) exceeded the total computing capacity of the Soviet Union, but had a fraction of the CPU power, storage, etc. of my laptop so where's my accurate voice transcription, much less my intelligent editing and automated personal research assistant? Text recognition is just about usable for some major applications, but handwriting recognition is still barely usable
Yes, many are happy with their PDA hand-print inputs (or whatever) but it's a singing pig, we've learned not to expect Pavarotti; we're amazed it's workable at all. In ten years, we *may* achieve our 1975 dreams, and call the current state 'crap', not because of added features, but because 95% success (if one can even achieve it) *is* crap performance that we'd never accept in other daily technologies. Contrast this with, say word processing: load a PDA with 1979's AppleWriter ][ word processor, (a 190K package) and *truly competent* speech- , text- or handwriting recognition (pick one) and you'll have something that'll fly off the shelf at a kilobuck a pop, and make the cover of Time.
I don't know your age, but I assume you recall the 70's. If so, you'll recognize that these functions that we expected "any year now" back then (and are still waiting for) are just a handfull of hundreds of basic functions that are clunking along today. Our standards have dropped. We haven't even implemented the feature set we were promised then
With the Web (hypertext), wireless networking, huge storage, and a thousand other technologies, we're finally getting close to the Dynabook, which in 1974, we were promised "by 1984 at the latest". In 1994, a dynabook would still have been a total world-changing breakthrough. in 2004, it may finally be here. Added features are nothing compared to competent basic functionality. We've had programs that claim to do all this stuff for 25 years, but we're still waiting for solid human-free performance (which is largely the point of having a computer do the job) on our 1975 dreams
Before you say creeping featurism pulled us out of the Dark Ages, just give me reliable, competent worry-free versions of the stuff that was outlined in the magazines in the 70's -- software that was being written on mainframes, knowing the PC and laptop were coming, someday, and is still only in what we'd have call "commercially released beta" form 30 years later
Re:Too right! (Score:2)
The problems... (Score:3, Insightful)
Innovators innovate need money, and open source don't provide.
Personally I use the BSD, because it helps innovation with license that provides freedom, but that does not mean that the BSD's them selves do innovate, just that we provide a good system to base innovations on.
Huh? (Score:3, Insightful)
I'd have to argue with the idea that innovation has anything to do with money. My most productive times are when I'm unemployed with lots of time on my hands and no money to pay someone else to write software I could write myself. If someone else has already invented the wheel I play it smart and look at what they have first, then I innovate the rest. If it's something entirely new I innovate it all but given my lack of a marketing department and the fact that nobody is looking for what I'm offering very little noise is made about it's existence.
As a developer I will never use a BSD license because it lets people rip me off without giving me anything back. If I release code under the GPL and they want to distribute changes they've made they have to make their changes available to me and others. If they don't want to do this they have to contact me and work out some other license for which they will pay me the original developer.
All the BSD license does is make it so you innovate and other people can run off with your code, make just enough changes to break compatibility, and make money off of it.
Re:Huh? (Score:2)
Re:Huh? (Score:2)
Re:The problems... (Score:3, Insightful)
I bet you thought you were saying something profound by that. I'll answer what I think you said.
Innovators need money. So do we all. What's new?
Some people do their work because they love that work, some because they love that money. Which group do you think does the better work? Which group do you think is more likely to get personally involved in their work, and make new ideas, or new uses for old ideas? Which group is more likely to be found working on libre software in their spare time?
Open source and libre software DO provide money to fund their developers. Companies like SGI, IBM and Sun all stand to gain by making software a cheap commodity product. You see, software is a complementary product to computer hardware. If software costs more, you will buy less of the hardware. So, hardware makers have strong incentive to pay for the development of free-to-the-user software. That's why those three companies, and many others, have been funding the development of libre software. All three have GPL'd some of their formerly proprietary programs (XFS, JFS, Staroffice, respectively), and all three are paying developers for things they need.
You might want to think about WHY they (eventually) choose the GPL, when Apple and Netscape (at least initially) chose more restrictive licenses. I'd suggest that they believe that they'll get more unpaid developer effort using that license. The number of people using and working on Linux, compared to the number using and working on BSD, suggests that they might be right.
No company, not even Microsoft, can hire all the developers in the world. Even MS can't hire all of the best. However rich your organization, the majority of the developers in the world will be elsewhere, and among those outsiders will be some of the best. The only way you can harness the efforts of those outsiders to work on your program is to make the program you want them to work on libre. That assures them that any work they do will always remain open to them, and that they will be able to profit by it on an equal footing with you.
The fact that no manager can assign someone to do some dirty work is often seen as a disadvantage to libre development. In fact, that is a major source of invention and innovation. People who love their work can play with whatever they want to, even if it doesn't seem important to someone else. Just as with everything else in the world, 90%+ of these inventions and innovations are crap, but that ``wasted effort'' is the price we pay for the few jewels.
It is not about pleasing the masses (Score:5, Insightful)
The reward of scratching your *own* itch is obvious. The reward of scratching other peoples' itches, especially when they are not likely to even send you a "thank you", are more dubious.
I do not mean this as a criticism, simply as an observation of how it really works. Open Source works because of individual need. You cannot expect it to do the same kind of thing as paid development (which also tends to include nasty, unpleasant bits).
We can help a little bit by giving non-developers the ability to participate in a meaningful way. Think translations, documentation, icons, loading screens, project supports, web support, whatever. A lot of this is in place today of course, but it may not be obvious to many. We may need to work on that - both making these things more obvious and 'sharing the fame' with the non-developers who help out in a meaningful way.
The criticism that Open Source is always copying is highly unfair. It is unfair because Open Source is in many ways still catching up to closed source. Many of the tools are growing stronger, but are still lagging a little bit behind. Once that gap is filled I expect the Open Source community will boldly go on to create new and innovative features. Until then... Well, there are only so many hours in a day.
We should always watch out for complacency. Something is not 'good enough' just because it works. We should instead take pride in making OUR source the very best possible. Paraphrasing Apple for a moment, we really *do* need to 'think different'. A copy of Windows is not likely to be 'best'. A copy of UNIX is not likely to be 'best' either.
If we want to evolve further, a point will come where we need to help other people onto our platform. These other people are not users perse, but rather creators of content like us. Unlike us, they create music, pictures, video, etc. We need to provide them with tools to do what *they* do best, and we need to educate them towards our mindset (Open), and they in turn will reward us by sharing *their* work.
Although this is not scratching a personal itch, the job can still be rewarding because these are generally nice and interesting people to work with.
Right, off the soapbox I go...
Re:It is not about pleasing the masses (Score:5, Insightful)
The reason many open source projects copy proprietary software, and copy it well, is because there is a clear roadmap. All the developers can see what it is that they need to create, and that overcomes the lack of elaborate design documents.
To create innovative open source software, some experienced designers have to actually create _documentation_ first, so that the developers understand what they are doing. Somehow, this doesn't seem to be happening. There are exceptions, of course. But, in the majority, no clear design documentation.
Will this approach help? I doubt it. This is more like some script kiddie in IRC demanding the keygen for Photoshop 7.
Imitation & Innovation (Score:5, Insightful)
Excellently put. I agree completely.
On the other hand I also feel there are a few Open Source projects that, after years struggling meet the current state of the art in that particular type of application, have finally caught up with it and even surpassed it. A shining example of this would be Mozilla. For years it was a huge pile of bloat, barely useable. Now it is a stable and relatively fast browser, feature-complete by even the most rigid modern standards (at least on Windows, for linux there are still a few crucial plugins missing) and provides features that i sorely miss when, for one reason or the other, I end up using IE.
The point I'm trying to make is that much is dependent on maturity. Maturity of the code that makes up the application, but also of the team that develops it and of the community of users as a whole. And I have the distinct feeling that this maturity has been rapidly increasing that last few months.
Open Source development models do not prevent innovation. They merely provide unusual challenges. Only now are we starting to learn how to deal with those challenges effectively, especially in the arena of desktop/user software.
I beg your pardon (Score:4, Insightful)
I, myself, am working on the Autopackage project because I want to make third-party software installation on Linux easier (and get rid of all the flame on Slashdot and other places about Linux software being hard to install) to make this world a better place, and partially because I want a packaging system that doesn't rely on a database.
Everybody has their own reasons. Some do it for themselves, some do it for others, some do it for fun, and some do it for other reasons. There is no one single answer to why this and that happens.
Example: "open source produces bad GUIs and have no usability experts". Huh? Have you guys never heard of all those usability studies Sun contributed to GNOME? Or the GNOME/KDE Usability Project? Or the GNOME Human User Interface Guide? I mean, they've been here for months, yet people still talk as if they don't exist.
I can only conclude one thing: the world is heavily underinformed or are biased. Go read some websites!
Again: there is no one single answer to why this and that happens. People saying that open source can't do x because of their ego or whatever have a single-minded view on open source.
Social itches (Score:3, Informative)
The reward of scratching your *own* itch is obvious. The reward of scratching other peoples' itches, especially when they are not likely to even send you a "thank you", are more dubious.
This true, and I address it in the article. LazyWeb, at least as its worked in the past, addresses this in a fashion. Rather than recap, I'll post an excerpt here:
"The canonical motivation for open source developers is that they want to "scratch an itch." In this view, most open source software is written with the developer as the primary user, with any additional use seen as a valuable but secondary side-effect.
Sometimes, though, the itch a developer has is social: they want to write software other people will adopt. In this case, the advantage of the LazyWeb is not just that a new application or feature is described clearly, but that it is guaranteed to have at least one grateful user. Furthermore, LazyWeb etiquette involves publicizing any solution that does arise, meaning that the developer gets free public attention, even if only to a select group. If writing software that gets used in the wild is a motivation, acting on a LazyWeb description is in many ways a karmically optimal move."
Everyone is a developer. (Score:4, Interesting)
Obviously not everyone needs to know C++ but Python/wxPython would be a good start especially if development tools can make it as easy as VB without the limitations of VB. PHP is also an excellent language to teach non-professional programmers because HTML makes UI's so easy to develop. Logo is good but I'm not sure how standardized it is.
The average Joe having a basic understanding of programming combined with opensource is really where things are going to explode in productivity. Thousands of simple single-purpose programs will flood the Net and the more professional level of programmers will get better feedback from their users.
Re:Everyone is a developer. (Score:4, Insightful)
Many people ignore any technics as far as they can (and are afraid of) not matter how trivial it could be.
Re:Everyone is a developer. (Score:2)
Also young people are much more comfortable with these technolgoies than adults. The average five year old can navigate the tv easily and the average teenager adds phone numbers to their cell phone without problem. Certainly those that grow up expecting themselves to know how to do a task can do so if given the chance.
I humbly disagree (Score:5, Insightful)
The reasons are many. Language: read any doc in any field and you'll see countless acronyms, names, references that an outsider has no chance to understand. Mindset/methodology: in each field, there's a "best practice" way to present problems and solve them; and you get (grok) it only through experience. Information: every field (not only IT) is evolving quickly and most people don't know where to look for useful info; in many cases, they don't even realize that information is available.
This holds true in every field, not only scientific or technical fields. It's true in finance, sales, marketing, journalism, politics, you name it. That's the reason why it's so hard to make different kind of people to work together (like R&D and marketing). Very few people are able to reduce the level of previous expertise needed to (really) understand what they are talking about.
One illustration: My field is finance, i guess most people on
It's the same with programming. I want to code something, what should I do? Wow, lots of questions come to my mind. Which langage, which platform, which IDE, which compiler, which database? How do I use any of these things? What do these words really mean in the first place? What is their syntax? Should I write the whole thing or use an existing GUI? Which one? Does this question even make sense? I'm confident that I could do it eventually if I commit enough time. It's not worth it!!! It's far more efficient if I outsource that task to a tech-savvy person.
To conclude: No, everybody is not a developer. And even in the future, most people won't ever do something that you would call developping. The problem goes far beyond GUIs and user-friendliness. You just grossly under-estimate the amount of investment needed to develop even the simplest piece of code.
Re:It is not about pleasing the masses (Score:2)
The problem is that most open source developers are not forward thinking enough. For example, look all the thousands of man years that have gone into creating KDE (for example!). And what have they done? Essentially caught up to Microsoft. That's good, but Microsoft has already been working on their next generation stuff, and when it comes out in a few years, the KDE people will scramble to copy it. But there's no reason the KDE developers couldn't innovate themselves. The difference is that they're looking at a Windows-type interface as the goal, letting Microsoft do all the innovation.
This happens again and again with different technologies. The OS/FS advocates take the conservative route, thinking that the current state of things is the best, and then they are caught off-guard and left with a dated product. Not always, but often enough to be a trend.
Re:It is not about pleasing the masses (Score:2)
It's not only unfair, it's absolutely untrue... Anybody who thinks projects such as Apache Cocoon or Jakarta Struts aren't innovative firmly either have their heads up their asses or don't know innovation when they see it. There are plenty of projects in the open source community that are incredibly innovative if you open your eyes and look (does Source Forge ring a bell?).
Stop buying into corporate rhetoric. It's companies like Microsoft and SUN who want you to think there is no innovation happening in the open source community, but there is and they know it and they are scared of it (Jboss anybody?).
Bryan
too much scratching is bad for you anyway (Score:3, Insightful)
The original UNIX developers limited their feature sets because that was their philosophy. Open source projects limit their feature sets because they rationally decide that the time and effort it takes to implement and maintain the feature are not warranted by its utility.
Microsoft, however, has the resources to implement every nifty feature they can think of. It doesn't make their systems better, it turns them into Rube Goldberg systems. The NT kernel really is "the most modern kernel in the world" in terms of having lots of features that CS researchers ever dreamed up, and that is not an asset. Microsoft developers get paid to add features, not because they need them or because it makes sense to do so, but because they can and because it looks good on glossies. Many people go to work for Microsoft because they can finally get their ideas into a shipping system without such pesky details as having to convince customers that they actually need it enough to pay for it--all they need at Microsoft is buy-in from a few managers.
Or, to continue the dermatological paradigm, if you keep scratching itches you only imagine you have, you are going to get scratch dermatitis. Too much scratching is bad for you, as is too much fiddling around with software.
Linux should keep things simple. Some of the attention from big companies and the resources they contribute (IBM, Sun, etc.) threaten to cause Linux to make the same mistakes Microsoft is making. Fortunately, Linux is still much more modular, so all that stuff can be left out. But it will be the end of Linux when the kernel and desktop will ship with all the "commercial grade" stuff lots of vendors have contributed.
Feedback from real end users lacking in OSS (Score:5, Interesting)
What i'd like to see is a kind of buzilla application completely focused on feedback from end-users. Somewhere where end users could make observations about OSS applications, and perhaps other users could vote or comment on them.
I brought a digital camera the other day. Before buying it, I could go to several web sites (for instance, amazon and cnet) and see lots of comments from other people who had used it. It was really useful to me, but of course could also be of use to the manufacturers themselves to get raw comments from end users. Open source software needs something like this so that developers can see first had what people like and dislike about their software.
Re:Feedback from real end users lacking in OSS (Score:2, Insightful)
The problem is no one is listening.
Usually they get flamed as "Yet Another Whiny Luser Who Can't Code".
There is a ton of feeback out there and armies of people willing to offer feedback, to bad usually developers are to busy flaming from their self important pedastal instead of listening.
Well then there are developers from the other side of the ego. They think any feature suggestion or request is an attack on their hard work and automatically go on the defense mode and flame the user saying how its perfect the way it is and if you want that feature code your own software and shut up etc.
There's been plenty of feedback, just no ones been listening.
Do users want to? (Score:2, Informative)
Most projects's site actually have room for user feedback and discussion, usually in the form of forums and/or mailing lists. The problem is that most users do not bother.
I develop and maintain a few small utilities on sf.net, and on roughly a thousand downloads all i have received are two bug reports. I am sure there are plenty of people that are looking for some specific features in my programs, but when they see they are not supported i suppose they just go "oh, well" and look elsewhere. It does not even cross their minds that they could tell me, or even enter a feature request in the tracker directly.
I guess we could try to lower the treshold a bit more (e.g. with big flashing "REQUEST A FEATURE" buttons on the main page), but eventually we cannot force users to do anything.
Re:Do users want to? (Score:4, Interesting)
I am authors of a few apps, some popular, some less. According to my experience, your rate of bug reports is quite average. There simply is little feedback from users, and the given enough eyeballs, all bugs are shallow really only applies to the very popular applications. I would guess that anything below popularity rank 500-1000 on freshmeat has too little feedback for efficient bug hunting. As for features, I would say the rate of requests is similar to that for bug reports.
"Customer" Versus "User" Distinction Telling (Score:2)
Doesn't the fact that: (A) open source software costs little or nothing, and, (B) several alternative versions of most application types are available, make it easy for unhappy users to staty silent move on to something else?
When I use free software, I don't have the same motivivation to complain or suggest that I do when I'm using software I bought. It's the difference in seeing yourself (and being seen as) a user rather than a customer. The commercial software folks know they're dependent on customers, while some open source and free folks appear tp be debating whether "users" should influence the direction of their "movements".
Re:Feedback from real end users lacking in OSS (Score:4, Funny)
like who?
feedback from:
my grandmother - "dios mio! thees computer ees da work of SATAN!!!"
my boss - "well if my roi can't leverage my surplused free fall in time we'll need a paradigm shift...and can you make my icons bigger?"
my brother - "dude can you get me free movies"
my friends - "it was like beep beep beep...mmmm?"
the secretary - "can you help me with my word...i can't make these bullets go away...."
50 year old but dangerous - "i have this usb 2.0 device, but my current usb 1.0 card won't work with it...do you think my 486 - i added the co-proccessor myself, will work with this pci usb 2.0 card?"
my tax preparer - "you mean i don't have to double click on EVERYTHING?"
my dad - "i hate that dell kid"
Re:Feedback from real end users lacking in OSS (Score:2, Insightful)
I definitely don't think that the user is always right, but I do think that if you're going to give the end user a voice you'd better take their opinions to heart.
Re:Feedback from real end users lacking in OSS (Score:2)
the end user is valuable only if the developer is getting paid. otherwise, the developer is coding because he/she really likes to code. going along with that, they get satisfaction from having others use and enjoy their software, but when it comes to someone asking for something the developer doesn't want to do, well i gotta agree that the user is up a creek and should find a paddle if they want to get down stream. that or get off the canoe and find another means of transportation (different software).
OS doesn't exist for a userbase, it exists because some peoople like to code and share their code/software.
How about this? (Score:4, Insightful)
For end users it is obviously important to make things easy. Although it is true that many web sites for Open Source projects have forums or email lists for feedback, I don't think that's easy enough. Many end users don't really know or care what software they are using.
What I suggest is a new dropdown item from the menu bar. Just as it is standard practice to add Help->About to an application, so it should perhaps become standard practice in the OSS world to add a Help->Feedback item. This send feedback info. from all OSS applications to a single database, which could then be browsed by OSS geeks to find out where problems are occurring.
I've always wondered why MS never did something like this. I think it would innovation - and a willingness to listen to endusers - on behalf of the OSS community if they did something like this.
Re:How about this? (Score:2, Funny)
That won't work (Score:3, Insightful)
I don't think that will work. Why? Because most people simply don't care. If they think the app suck, then they'll delete it. The last thing most people think is "Let me send feedback to the authors". I mean, a lot of people I know don't even know what version of Internet Explorer they have (they don't even know they have to look in Help->About!!!!)
There are of course always some people who do send feedback. However, a lot of them are very stupid (no offense intended, but it's true). Things like "it doesnt work plz fix it tnx" or "yo dude do me a favor would ya fix this bug, LaTeRZz!" or "It doesn't work." are not uncommon. How do I know what to do if all I get is "it doesn't work" or "it crashes"? Also, for smaller projects, the authors do not always have time (school/work/social life/whatever).
I think it's much better to teach the users how to give good feedback. Or better: encourage them to contribute. The problem is: are people willing to learn or to help?
Re:How about this? (Score:2)
The fifth item in the "Help" menu in Internet Explorer, just above "About Internet Explorer", is "Send Feedback".
Best of both worlds (Score:3, Interesting)
The Net, Linux/BSD and the wealth of tools all provide hackers with the opportunity to code endlessly, but one thing we can't do is interface research.
So it's the best of both worlds: we can make use of all the money and time put in by Apple, MS etc. into human/computer interface research, yet capitalise on the power of open source to deliver stable, versatile software.
(Of course, Apple isn't too happy with direct copies of their UI, and I could've worded this better, but only woke up 15 minutes ago
Re:Best of both worlds (Score:3, Insightful)
The problem is that no-one seems to want to. Most open source projects happen because someone (or a group of people) decide to write some code, and start. People don't want to spend months gathering requirements and having meetings to discuss and finalise features, they want to get on with "the real work".
I do agree with you though - I see nothing wrong in taking inspiration from those companies that do put that sort of effort into interface design. Isn't that what open source is supposed to be about? Learning from others, building on their work to produce something better?
That learning and reuse doesn't stop at code.
Re:Best of both worlds (Score:2, Insightful)
I completely agree. There are (at least) two reasons for this. The first is that someone will find an app that they like, which doesn't exist for Linux and decide to write an OSS version. The second reason is that the software could have a cost that only few could afford, i.e., Office, Photoshop, etc. So they model the clone after the original program, hence not needing interface studies.
However for most OSS work, the developers are most likely located all over the world. With such sites as sourceforge and with tools like CVS, development can be accomplished smoothly. Spending time with test cases, requirements gathering, and with general research, unless done by a small group is probably difficult with developers spread all over the globe.
There is also the notion that writing code is the fun part and gathering information is not something that people want to do in their spare time!
Re:Best of both worlds (Score:2)
There are a few dedicated hackers and organizations that have successfully worked around this problem. Notably, several of the Apache organization's projects have gone through formal design and review before coding, and are coming along fairly well. However, these do tend to be very small teams where someone is paid by a company to see the effort through -- your average "scratch an itch" developer, or post-college student may not have the time or interest to pursue it to fruition.
My take is that it's best to put something out there that "just works", to begin attracting development effort for it. If you are interested enough, it's a great idea to have formal design documentation which you've written as the primary developer. UI and usability testing generally cost a great deal, but I think that's another problem that can be solved by technology, and the correct implementation of social pressures for a user to submit a report on his experience during the beta phase.
I seem to recall a program that did that... by default, when the beta you were using expired, it poppped up a web page to download the new version. Now, a user could download the new version just by visiting the main page of the site, but this offered them a quick and easy way to get the correct upgrade, while asking them some non-personal questions about their experience with the software. Stuff like that I see as the next wave of open-source testing.
Debugging vs. design (Score:3, Interesting)
Yep. A piece of software is designed once, and then it may be debugged many times, perhaps forever...
Debugging is a (IMHO silly) way to understand how a program works, to find out were and how it fails or where and how it may be improved. That and the possibility to reuse pieces of code, is all that opensource is about. This gives the public - more specific developers like some of us - the power to fix problems and add features right away.
However I do not see how this idea of communication about features will work. Assume I code some feature I have a need for. I would just submit the modified code. I will not go and see if I made some users happy. So who is going to? Assume you have need for some feature...
...
Well that's where the story ends, I guess. Or you'd have to call me and pay for it.
debugging or design (Score:2, Interesting)
Re:debugging or design (Score:2, Insightful)
You, and very few other people. It's incredibly annoying (from a user's POV) to have to learn a new UI for every application I use. A programmer that insists on wasting my time because I've got to 'learn to ride the camel backwards' to get his weirdass program to work, gets the boot from me. I'll find an alternative that's better designed.
The program's design is an integral part of the production process. Badly-designed software simply isn't of release-quality. Stable or not, if your UI is badly designed, your application is a beta.
It isn't a question of either/or (usability vs stability). You need both. Actually, you need a few more things. Documentation, for instance. Good documentation, not just manpages.
Re:debugging or design (Score:2)
Different problems (and personalities) require different approaches. Force everyone into some notion of the "one true interface" and you've missed both the point of computing AND capitalism.
Nevermind the fact that your criticisms are about 5 years out of date.
Discovery of features (Score:2, Insightful)
Finding those packages can be difficult though - we need enhanced feature discovery.
We ALSO need to maintain the Unix philosphy of SMALL TOOLS THAT DO ONE THING WELL that you can combine - and perhaps develop a GUI paradigm for that, not throw the kitchen sink into every package.
Re:Discovery of features (Score:5, Interesting)
Note prior to my comment - I am an "end user" (for the most part) not a developer. As such my comment may be ignorant about how things are working behind the scenes, whats possible with the existing techniques (but not actually showing up in the software...) etc. etc. etc. Anyway, on with the comment...
Amen! It seems once you start using a GUI there is a tendancy to build monolithic programs that do *everything* themselves even though all the other programs also do many of those same things. But I don't see why this has to be that way. It seems you could have some standards that organise and identify independent components (plug-ins?) by function. Perhpas something like mime types that has both a general and specific classification - like "text/spelling" for a spell checker/dictionary or "text/search" for a gui for grep etc.) Application developers would figure out which classes of plug-ins make sense to load into their program and where the particular classes and sub-classes show up in their gui (rather than putting them all under "services" like OS X).
From an end-users perspective it is *bad* that there are slightly different tools with slightly different capablities doing much the same thing from app to app to app. Every word processor or text editor needs/has a "search" function - why don't they all use the same one implemented in the same way and why can't that way be determined by me, the user, by installing the search utility of my choice that would be used by every program that needs one. For that matter lots of applications need text-editting (or word-processing, or image editing etc.) themselves - why don't they all use the same full featured application as a component rather than having their own lame version of that functionality or forcing me to launch another application; do what I need to do; copy or save the result and import/paste it into where I need it. If you really did this right there would even really be distinct "apps" you'd open a document and the components for any type(s) of data in that doc would load so you could do whatever needed to be done with whatever was in the document.
It never became a reality (at least for the end user) but it seems that Apple was working on something like this with OpenDoc.
Who needs to find a new itch? (Score:2)
The synergy here could be dramatic. Students learn by taking a stab at solving real user needs that might otherwise go unfulfilled.
Open source *has* innovated/been successful... (Score:5, Informative)
Open source uber-successes (innovation + usability): Apache, Sendmail, Perl, Python, PHP, emacs, vim (vim adds sufficiently to vi to justify it being innovative imho)
Open source successes (usability): Nautilus, Gnome, KDE, Evolution, the Linux kernel, GPG, glibc, Mozilla, OpenSSL, OpenSSH
Open source failures*: Directory Servers, Calendaring/Groupware servers, Office software, desktop publishing tools, graphics/prepress tools (the Gimp isn't a prepress tool), message queueing systems, heavy duty databases (despite SAP/DB).
I see a pattern here: Open source does pretty well at stock protocols that fulfil community/individual needs, it has even done reasonably well at end-user desktops (Nautilus being the crowing example -- if only the rest of the Linux desktop was that good!
Where we have not done well is about stuff that solves suits' needs: directory servers and groupware being a classic example.
I think we'll need some initiative from the industry now to fill these gaps, because it is not obvious that the community is going to scratch those itches anytime soon. Sun's open-sourcing StarOffice was great, OpenOffice has a chance of catching up with MSOffice in ~2 years. I sometimes wonder what would happen if IBM were to walk the talk and open up *any* of the following: DB/2, Domino+Notes, SmartSuite.
* yes, I am aware of OpenLDAP and OpenOffice, thank you.
Another pattern in your list (Score:3, Insightful)
As for successes, and failures, I detect another pattern in your list. Open Source does better the deeper in the stack it is. Deep in the stack == programmers as users. Tools high in the stack, on the other hand, have a strong split between the people writing the software and the average user. I am wondering if LazyWeb can bring about useful communication across that gap, at least among users capable of describing what they want clearly and developers looking for outside inspiration.
Re:Open source *has* innovated/been successful... (Score:2)
Re:Open source *has* innovated/been successful... (Score:4, Insightful)
I consider GNOME and KDE big failures of open source. They could have epitomized great design, they could have demonstrated how to write reliable, fast software. Instead, they are bug ridden bloat monsters. I'm ready to puke when I see my notebook start to swap when I open konqueror.
And I don't follow your directory service rant. Obviously you have never even looked at the commercial directory services, because they suck even worse than openldap (and we both know that is a feat not easily achieved).
By the way, you invalidate your whole rant by counting as success only software that has been mentioned favourably in the (spectacularly uninformed) mass media, not software that is actually well done. Nautilus, for example, is the slowest piece of file managing software I have ever seen. I always thought it is a parody rather than a file manager, how can anyone use anything this slow in his day to day life? Sure it looks good, if you have the time to wait half an hour for it to draw your home directory.
And about that office stuff: we are using TeX in our office. We write our letters in it and then we put them in CVS so we can work on them collaboratively. Then we can do full-text searches in them. We once trained a secretary to use TeX who only knew Windows before. It took her less than one week to work productively with TeX.
There are lots of great successes in the free software world. Most people are just too badly informed to know them.
Re:Open source *has* innovated/been successful... (Score:2)
Other business uses for nautilus.
It just saves the time required to open multiple apps to just view files.
Yes there are other ways of doing things but in some cases it makes sense.
Re:Open source *has* innovated/been successful... (Score:2)
Seriously, about MySQL: yes, that's why I said heavy duty databases. Regarding Latex and groff : a history professor can use Mozilla. Can he use Latex? (high probability: no, although I'm sure someone'll come along to prove me wrong
Office software: should've said, Office Suite. I wasn't talking about market share (by that metric, Mozilla would flunk) but whether the product is any good for a wide audience. Again, the same about sendmail et al: sendmail et al are successful while groupware isn't, because sendmail isn't half-baked, it's good at what it does. Similarly, Mozilla hasn't been half-baked since pre-M16 days. On the other hand, most office suites and groupware products do not have a credible feature-set against the market leaders (in the groupware market, this is actually Notes+Domino, not an MS app).
OpenOffice is actually very interesting; there are parts (like Calc) that're quite good. But Writer is an embarrassment for my occasional burrow out of vim; therefore the half-baked tag.
Re:Open source *has* innovated/been successful... (Score:2)
If he's been published prior to 1993, yes. If we are forced to look at only GUI software, you are right that Open Source is lacking - probably more so because of software patents and the like owned by Adobe, MS, and the rest of the publishing software business. That said, I'd love to see an open source graphics package that has the capabilities of (mac people, go easy on me here) Corel Draw.
$G
Re:Open source *has* innovated/been successful... (Score:2)
Yes, he can. Just don't ask him to write LaTeX files in Vi. Hi doesn't write MS-Word doc files in a hex editor, does he? Let him use LyX (or TeXmacs in a ~year from now) and you'll see that he doesn't want to return to MS-Word anymore. The keyword here is usability.
The psychology of feature creep (Score:2)
Features (Score:3, Insightful)
Re:Features (Score:3, Insightful)
Of course, the problem with letting developers specify features is that often they're not the ones actually using the product, so they may not know what features are actually going to be useful.
The best thing to do is to sit down and talk about it. This lets the users tell the developers what they want and need, while letting the developers say "okay, we cna do that, but then you can't have this feature" or "Sorry, that could take months or even years to do; how about this instead?"
Copying features (Score:2)
KMail is a decent mail client, but to get it to work properly (after installing it as part of Mandrake 7.2) I had to search Usenet to find out that I had to edit some config files. That's not what someone coming from Outlook Express would expect, and it would probably put them off.
Making initial config and installation easy should be more of a priority than adding "original" features.
That said, Mozilla has done both, so it can be done.
Re:Copying features (Score:2)
That's a bug. You should send a bug report. I just clicked on the KMail icon, filled in my mail server information and personal information, and it just worked.
So request already! (Score:4, Insightful)
Send me an email, and ask. What's the worst I'll do? Say "no". I personally wouldn't do that (I'd probably explain why I thought so), but it wouldn't hurt! I'm guessing a huge number of free software developers are sitting out there, very lonely. I *know* I have quite a few users, since I get a steady trickle of downloads, averaging over 20 a day - some of them *have* to be trying it out!
Re:So request already! (Score:2)
Re:So request already! (Score:2)
Re:So request already! (Score:5, Interesting)
I've done as you suggest multiple times to no avail. The request is either not "sexy" enough or somehow not important enough. For instance, THE reason that openoffice/staroffice will NOT replace M$ Word or Wordperfect in academia/science is a total lack of ability to handle references and citations. Word and Wordperfect do this beautifully and professionally (good enough for submission and publication in professional journals) through their designed ability to work well with 3rd party apps like EndNote. I have made the request/statement to Stardivision, to Sun when they took it over (twice!), and to Openoffice.org several times over the years to no avail. Thus, these packages are mere toys for use by people who either plagerize (failing to cite references) or people who don't do serious research/writing and thus don't need to give attribution or support their ideas/claims. These tools are for letter writers and memo passers, not college students or researchers or professors.
I have also asked several groups to consider moving away from the should-be-extinct Motif interface to a modern, user friendly, SYSTEM friendly widget set (QT or Gtk). Motif IS UGLY, CLUNKY, AND NEEDS TO DIE. It has NO respect for screen size, insisting of shooting beyond your window borders such that you lose the ability (in some cases) of manipulating buttons and menus. If something happens such that you move the app interface beyond your window borders, you're screwed because it will happily reside in no mans land beyond the reach or your mouse cursor. Simple requests like this (FRIENDLY and REASONED requests, not rants) are ignored or quickly blown off. Why? Because developers don't understand nor care about endusers and app usability. As long as THEY can use the app just fine, tough shit for anyone else. My way or the highway.
This is the area that OSS cannot compete with commercial. In commercial software development, it REALLY DOES MATTER what the interface looks like (psychology is important) and principles of interface design are known and adhered to. They don't just willy-nilly toss together an interface and call it good enough.
Re:So request already! (Score:5, Insightful)
The worst you'll do is just ignore me. I've been waiting two years for one additional IDE drive to be added to the "quirks" list in pdc202xx.c of the Linux kernel. The architecture of the file has changed, so someone's looking at it, but no one has bothered to listen to my very simple request.
The work is done. My request was to have a specific line added; I sent the actual line, my reasoning, and my configuration to both the individual maintainer and the appropriate list. I verified that the patch works before submitting it. This would be 30 seconds of work for the maintainer, with very little risk to anything else.
I never received any response at all after multiple submissions from multiple accounts. Nothing.
This has prevented me from really going with Linux for two years. My options are:
This is my experience with the open source "process".
Let's start with some docs first.... (Score:4, Insightful)
This might help when a CODER thinks it would be cool to add X feature and the project maintainer then says that feature is not one that fits in with his vision of the project. Why the f$ck did he not have a doc that said that?
Most opensource projects that suck lack a leader at the top, or should I say a leader at the top willing to lead.
Re:Let's start with some docs first.... (Score:3, Insightful)
GNOME Roadmap [gnome.org]
Mozilla Roadmap [mozilla.org]
Autopackage TODO List [autopackage.org]
Design is King. (Score:5, Interesting)
They sit there, with their lightweight psychology, graphics design, philosophy, women's studies, physical education, etc degrees, and contemplate and measure cost/benefits of how the software should work. When appropriate, they poll users. They perform usability tests on actual users. They monitor how actual users use existing versions of the software in order to both spot common errors and figure out exactly what features are actually being used. They document what they do. They read books and articles on nominally the flimsiest of things, like "the psychological implications of color choice in menu design." Their feature requests sometimes border on the really difficult to implement, and sometimes quite simple.
Theirs is a full-time job. Even, if in your arrogance, you don't believe that it takes particular skill, at least grant them that it takes time to go and set up actual usability testing sessions and so forth.
The implication is that PROGRAMMERS DON'T DO DESIGN (at least, interface / features design). Or, at least, anything a programmer might do is reviewed and analyzed.
Needless to say, this is totally different than in oss/linux, where programers are really the only actors in the whole software development cycle. "design" is accomplished largely by copying other products, whcih inevitably leads to a lack of appreciation for the subtleties that make up for good interface and usability design.
Gimp and Xfig - my two favorite whipping boys, are examples number one and two of programs that nominally have the features, but in practice are painful to use compared to their closed-source equivalents (Photoshop and Visio).
The problem is as well is that there is no plausible way to get designers and similar 'soft skill' people into the OSS cycle today:
I know I'll catch hell for this... (Score:3, Insightful)
Now, this tool can be purchased and it's features can be copied...but certainly I never could have built this thing myself from scratch as my background is in computer science and software engineering.
IMO there is absolutely nothing wrong with copying features. In fact, if I were looking for an OSS tool like the one I described above - I think the most important thing I could say about it is that it is just like "X", except it's free (as in beer/speech/or whatever.)
Lastly, it seems to me that since requirements and design consume so much effort/time/expense that one reasonable lifecycle for an application is..
1. Domain experts recognise the opportunity to automate some aspect of their work based upon years of experience in the field
2. They invest the effort/time/expense in developing the requirements/features and create a proprietary application which the sell for $$$ for as long as they can
3. Eventually, other commercial proprietary apps are available with added improvements to compete...so less $$$ available
4. Over time, the set of requirements for this type of tool become known by all.
5. Once the requirements/feature are common knowlege, OSS replicates the tool and the world is a better place.
Clearly, OSS has produced original work that never went through a commercial cycle. But there is no shame in copying features. As Isaac Newton said, "If I have seen farther than others, it is because I was standing on the shoulders of giants."
I heavily disagree (Score:2)
The Slashdot opensource prejudgements must die. Now.
"The problem is as well is that there is no plausible way to get designers and similar 'soft skill' people into the OSS cycle today:"
*Ahem*
How to join the GNOME project for non-hackers FAQ [gnome.org]
GNOME Usability Project [gnome.org]
GNOME Documentation Project [gnome.org]
GNOME Translation Project [gnome.org]
And of course the KDE documentation/translation teams.
All projects for non-hackers. And they're quite busy.
"Gimp and Xfig - my two favorite whipping boys, are examples number one and two of programs that nominally have the features, but in practice are painful to use compared to their closed-source equivalents (Photoshop and Visio)."
Well course. They were made in a time when Linux GUIs were just born and developers had almost no experience in good UI design.
Compare the situation to today. GNOME 2.0? KDE 3.0? Evolution? Mozilla? All very mature software with modern and usable GUIs - because the developers have more experience now!
"* culturally, the OSS 3l337 reject anybody without super-skills. don't even pretend that this isnt true."
Oh great, the old "elitism" argument again.
I can't hack the kernel. I don't know assembly. I'm not a Unix expert. I'm not l33t. Yet if I join a GNOME mailing list, and I ask things carefully and politely, providing all the necessery details, I almost always get a good and clear answer (unless of course, nobody knows an answer). I never, I repeat, never get flamed down or told RTFM.
The elists are - what? - 5% of the entire population? The only place I've seen developers occasionally say "RTFM" is on the MPlayer developers list. On mailing lists for popular projects like GNOME and KDE, nobody tells new users to RTFM. Except sometimes as a joke (with a smilie of course). Also, on IRC channels such as #linuxhelp, people are also often friendly and helpful.
Obviously, you are brainwashed by the popular Slashdot prejudgement that OSS developers are elists. That is simply not true. Can you give me any proof that most OSS developers are elists? I don't think so.
"# Technically, there are no mechanisms in place for this. CVS is about code. The development model is essentially about continuous 'patching' of the software rather than grand rearchitecting, which design considerations often require."
Wrong.
If you say they don't design when they first started the project, then yes, I agree with you partially. Mike spent months thinking about Autopackage's design before he actually started writing code.
Most open source project design as they write the code. They learn from their mistakes and make a better design next time.
A good example is KDE 1.0 to 2.0 --> a complete rewrite. They learned from their mistake and made a new, better architecture. In fact, the design is so good, that KDE 3.0 is mostly a cleanup release with no mater architectural changes, and is mostly source compatible with 2.0.
Another good example is the Linux kernel. The new build system has been carefully designed from the ground up, and can't be applied in small continuous patches.
"economically, there's little hope of getting quality designers involved. Programmers barely get recognition in OSS (blowing to hell ESR's naive theories, btw). Who would care who designed what? How do you get street cred as a designer? I mean, it could happen, but it would take a pretty big mental shift."
GNOME Usability Project [gnome.org] anyone? A lot of usability studies are contributed by Sun and Ximian. Sun also contributed a lot of user documentation.
"Design = customer focus. OSS too often has this not. Profit drive causes customer focus. Alas."
Commercial [redhat.com] open source [ximian.com] software [suse.com]. 'nuff said.
Re:I heavily disagree (Score:3, Insightful)
Since when is creating icons technical things? What about writing USER documentation?
"This is irrelevant to the issue of design and usability"
That is irrelevant. You're saying only programmers work on OSS projects. That is not true.
"Provides a series of slides that explains things like "what usability is." A nice start, but that hardly means that the end product will be designed with usability in mind."
That's what the entire project is about! To convince app developers to think about usability! That so far, they're succeeding. More and more application developers are fixing their GUIs to be HIG-compliant. Also take a look at the traffic of the Usability mailing list.
"Let us not forget that the usability thing is being spearheaded by Sun, who sure as hell isnt doing it for altruistic reasons."
Aha. Let's see...
Slashdotter A: "Open source apps have bad usability because the developers write it for themselves. Commercial software have good usability because their customers demand that."
Slashdotter B: "Sun is not doing it for altruistic reasons."
Hm? Contradicting claims?
Sun's customers demand a good, usable, intuitive GUI. Sun is using GNOME as their GUI in Solaris. What's wrong with Sun helping to make GNOME more usable?
"Documentation + Translation != Usability != Design"
That's why the documentation, translation and usability projects are seperate projects!
"Oh stop it, you're making me laugh. Mozilla fails even the most rudimentary usability tests because of its speed (or lack thereof)."
Since when? On any modern system (my Athlon 1.4 Ghz with 128 MB RAM for example), Mozilla runs just as fast and snappy as any other application. Stop using Mozilla on that Pentium 166. Even on that AMD K6-400 with 128 MB RAM that my friend has, Mozilla runs just fine.
And of course I'm talking about post-1.0 Mozillas here.
"If you knew a damn thing about usability rather than playing the old linux game of equating "fancy gui" with usability, you'd recognize this. Usability is a user-centric-ness that needs to be considered in many ways, and Mozilla fails by a mile."
Oh you mean those thousands of happy non-geek Mozilla/Netscape 7 users are all fake?
And what about Netscape? They're a company. Their customers demand a good product. Isn't it common Slashdot knowledge that companies create good and usable GUIs?
"There's a world of difference between getting an answer to a technical question by supplication and driving the development of a new product."
What's that got anything to do with this?
"OSS is developer, not market driven. Where it is more market driven, it's basically being used by for-profit companies to serve some auxillary goal (like Sun's support of Gnome)."
Then what are you complaining about? Are you saying NOBODY (not open source, not companies) creates usable GUIs?
"This is best done in person. OSS suffers because of this, in general, as well."
I don't get you. You say OSS suffers from bad usability design. Yet you also complain about that companies only do it for the money. What's your point?
"Commercial open source software, that sideline game through which companies position themselves in a to take advantage of the work of free labor while bundling this with their own proprietary extensions as a 'value add' does care about usability."
*Ahem*. Mozilla is sponsored by Netscape...
"RedHat does everything in its power to keep the usable bits proprietary"
What bits are proprietary? The installer is GPL'ed. The configuration tools are GPL'ed. What exactly in RedHat is proprietary?
"Big picture: at the end of the day, you STILL can't reliably cut and paste complex objects between apps that dont explicitly know about each others file types in linux systems."
What complex objects?
"You STILL dont have so much as a simple, fast, usable web browser that comes close to IE."
What's wrong with Konqueror?
Personally, I find Galeon and Mozilla far and far more usable than IE. The little details like middle clicking on links, tabs and popup blocking make my browsing experience far more pleasant than IE ever gave me. I'm not the only one with this opinion, there are many, many more people out there.
They don't know where to go stoopid (Score:3)
Sure, there's google, but who is to think of hunting down xmms's main site, writing a question and waiting a day or two. Whta if I wanted my answer yesterday? Part of the problem is, there is no fast support, much less obvious support.
"Features" are not easily measured (Score:4, Insightful)
The most obvious example is Perl. It was made to generate reports, but grew so far and in so many different directions that few Perl programmers have ever used it to generate printed-page reports.
But open-source isn't just about features. It's about rock-solid reliability *and* portability; few commercial products run on as wide a range of platforms as, say, GNU fileutils. And I can still cause most commercial 'pwd' implementations to dump core, but have never done so with GNU pwd :-)
Re:"Features" are not easily measured (Score:2)
Yes, says 30+ yrs of research by MIT's Von Hippel (Score:5, Insightful)
See Von Hippel's papers here [mit.edu].
Enjoy,
Frank Ruscica
Thanks for the pointer (Score:2)
Here's where the innovation is! (Score:3, Insightful)
And of course it has. Open source is all about mimicking the open science research community around all the universities in the world. This scheme has been perfected for centuries with the explicit goal of more innovation.
With open source you don't have to reinvent the wheel. Have a new idea for an operating system feature? Implement on Linux and you can be ready in no time and (which is important) you have plenty of people to show it for, get feedback, and if it turns out good, plenty of users. Creating a new language? Just write a new frontend to gcc and you have modern state-of-the-art code generation and register allocation tools which would cost you millions to develop from scratch.
Five years ago, we already had a complete operating system for us, GNU/Linux, all created within the open community using open tools. Using only some of the thousands of available tools, you could chat with users around the globe using IRC, setting up ad-hoc document collaboration with CVS and LaTeX, develop software etc.
Then we had the whining. Corporate users saw there was money to save by using free software, *if only* there was a free word processor. Word processor! You had emacs, CVS and LaTeX and you wanted a *word processor*! Why? Because the better software wasn't "familiar enough". Familiar. Ok. After several years, both communitites realised that it is only good for us both if we cooperate (it almost always is) so now we have, what, 5 good free wordprocessors?
We had mutt, procmail, GNUS, and some wonderglue called Perl. Corporate wanted Outlook Express. Now we have an insane amount of Outlook clones. Repeat ad infinitum.
Now we find ourselves in the peculiar situation where new users are introduced to lookalikeware such as GNOME, Evolution and Openoffice -- and they complain they are just pale clones. Well of course they are! That's why they were created!
Want a 3D GUI? Available. Unified messaging? Available (at least with some Perl glue). Ad-hoc collaboration systems? Right there.
If you want to understand the innovation taking place in the free software community, start with understanding our basic tools. Understand CVS, LaTeX, Perl and such. Look at the reiser4 filsystem, the XML-UI in Mozilla, Parrot and Perl 6.
Then come back and give us a little bit more well informed complaints about innovations in free software.
Re:Here's where the innovation is! (Score:2)
LyX was pretty usable 5 years ago (and it's even better today!), so why did you force your users to suffer with editing "raw" LaTeX files in emacs, instead of nice GUI of LyX?
I thing it's a quite typical pattern in open source community - ignoring the usability, even in situations when there is an available opensource-based way to improve the user experience.
Inverse (Score:2)
I'm not buying it (Score:4, Insightful)
The whole "Open Source Developers are not Creative" line is crap. Sure we copy a lot of features if we think they're useful, but we've been on the leading edge in places where big companies would like to re-write history to take credit for various inventions of ours.
Overblown? (Score:2)
Is it? What do you have to back this up? Does anyone have anything to back up the facts that it is not overblown?
While I personally think that open source indeed come up with new and novel designs now and then, and think that they often do the right thing when they copy things so people can use it out of the box, I absolutely hate blanket statements like the above, that serve no other purpose than to try and get published on slashdot.
If you only had said "While I think this criticism is overblown". That would be better, at least.
Personally, I don't think it is that overblown, but it isn't always a bad thing either.
the problem is getting it to work (Score:2, Interesting)
I certainly hope that aircraft or automobiles I am on are not put together like that. What OpenSource _CAN_ do is provide the solutions in parts that can be then put together like the end user wants (or end developer). Instead of saying, "Our tool uses GTK for its front end" try saying "We provide with our app an optional GTK GUI front end as an example" and actually design the system from the beginning to allow for a more abstracted method of output and input. If I want HTML as output, no problem... perhaps GTK is not a viable solution for me, then I will go with X-widgets of some sort I like.
Sometimes this is rather difficult I realize, but if I have to rewrite the core app then I will most likely start from scratch. If however, I want a good app to build around and on top of then I will need to be able to use it much like a library or at the very least a single separate blackbox device that I in turn define the input and output methods and formats (within reasonable limits).
Shouldexist.org (Score:2)
While I'm here, let me plug my Shouldexist postings:
It's more difficult to know what features to omit (Score:5, Insightful)
When you compare what's under the menus, MusicMatch looks like a mess. In comparison, iTunes seems clean and well designed. I think the ratio of useful features to features follows the 80-20 rule.
It's probably also the reason that I have stuck with Palm handhelds (actually a Handera) when the PocketPC's seemingly have much more to offer.
It is very difficult to make something simpler without losing any essential functionality. And of course what is essential is very subjective. But in the case of iTunes, I think Apple has done a very good job.
Re:It's more difficult to know what features to om (Score:2)
copying too slowly (Score:2)
An article at PCMagazine that touches on that same attitude is Here. [pcmag.com] (Item #2)
More Features is the biggest fallacy of software! (Score:5, Insightful)
Adding more features will only make the software worse. More bloat, less easy to understand and use, needs more hardware, and the documentation usually lags behind as well.
Writing software is an art form. It is an exercise in restraint and thinking before you do it, not in gluttony or adding more crap to already crappy software. The world is full of bad software [gnome.org] with hundreds of little understood [microsoft.com] and under-documented features [kde.org]. I'd rather have small, well-documented and reliable [cr.yp.to] software, thank you very much.
Re:More Features is the biggest fallacy of softwar (Score:2)
Agreed... until it occured to me while reading the article that maybe by posting a feature request in a public forum, you would get lots of feedback similar to yours.
You might also get lots of people simply saying "it already exists if you do this that or the other".
On the other hand, consistency is extremely important. Too many independent thinkers with divergent goals would lead to a nightmare application... all software development would converge to an emacs-like blob.
But that might come out in the forum... and if the software application (or fork thereof) is 'lead' by a single mind, like the kernel, then it might work.
I'm just not so sure that the idea would fail.
Re:More Features is the biggest fallacy of softwar (Score:2)
Now if only I could get it to be as easy to install and configure as qmail I'd be SET!
Re:More Features is the biggest fallacy of softwar (Score:3, Interesting)
There's no good reason that a word processor with features enough for most of us can't fit into a palm pilot and not be a burden when being run by a full scale modern desktop computer.
This is easy . . . Marketing (Score:2)
It is comparable to the 60s when Americans loved fast, cheap, gas guzzling cars and totally ignored how dangerous they were. The YUGO and oil crisis changed this attitude for a lot of Americans. I wonder what products and events will change American attitudes towards Open Source.
I would disagree, OS IS innovative (Score:3, Insightful)
How many web browsers were around before Mosaic?
How many email servers were around before Sendmail?
How many web servers had dynamic content before CGI/Perl or CGI/C?
Even if I'm wrong about how innovative these ideas were, there certainly were catalysts for the creation of closed-source and/or commercial products rather than OS just copying featues.
Re:I would disagree, OS IS innovative (Score:2)
The pre-cursors of Apache, NCSA and CERN servers, were both AFAIK developed by a cohesive group of programmers employed by one organisation in one place (more or less). They then released with (I think...) BSD type licenses and Apache took off.
I don't deny that there _are_ examples of open source innovation, but I think they are rare compared with tradition development environments (regardless of the final licensing of the software).
Where open source software is innovative, it is so because of an individual, not becuase of some kind of distributed innovation.
I have a few innovative ideas for software. I'm not a programmer. Here's two scenarios:
1. I post my innovation to a mailing list. Ignored.
2. I tell my development team to implement my innovation. Implemented.
Which results in innovative new software faster? What am I doing managing developers if I can't even program? Well, I'm doing it because I have innovative ideas. Now how often does _that_ happen in open source world.
[disclaimer - I do know how to program, I do manage developers, and I don't have _that_ many innovative ideas, really
Re:I would disagree, OS IS innovative (Score:2)
Sure, they work for you. You sign their paychecks, or at least your boss does. When I run into a frank deficiency in the internal software in the organization, even when I know exactly what code to change in what file, what the scope of the change is, what it could break, and so forth
Know how I fix a broken web app with the source? I change it, I submit it, they take it or they don't. If they don't, I put the patch into a new build tarball, and post to the list to find the fixed version at this new URL.
Should this surprise us? (Score:2)
In the Open Source model, there's no mechanism for people with great ideas but no hack-fu to get their ideas to the programmers.
So for truly innovative things to come from Open Source development, you have to find someone who's a competent programmer _and_ who has good ideas. This is certainly bound to be much rarer than someone who just has one or the other.
If we want to see more true innovation come out of Open Source, then we either need a mechanism to put idea people together with the hackers (and since folks aren't getting paid for this, there's very little incentive to listen to someone else's desires when you're coding...) or find more Renaissance Men. Or we need to find an idea guy with a better answer who's got sufficient charisma we're all willing to listen to him.
Biased report, anyone? (Score:2)
Don't think much of other people's opinions, do you? Yes, lets discount every opinion that is in disagreement.*sarc*
Of course, I personally agree there needs to be a strong form of 'copied' features because, frankly, if every app I use has it's buttons in different spots, I'd go insane trying to remember them. MS has led the way here and if it's not FILE EDIT VIEW then it's not right. But new, breathtaking features? Well, alpha skins looks good. But I think thats all I've seen so far I like.
Functionality, not "Features" (Score:3, Interesting)
A "feature" is something that was invented by the software *industry*, and has little to do with actual functionality. The purpose of a feature is to cater to *customer* demand, or to drive the upgrade cycle to maintain cashflow into the company even though they havn't developed any new *functionality* in years.
As Rex Roberts noted in his book "Your Engineered House" way back in 1964, no one makes money by telling you you don't have to paint your house at all.
Geeks are, by and large, perfectly happy with vi and emacs because they *work.* They not only work, but if you *combine* them with other other tools they can do far *more* than, say, MS Word. So why would a geek spend his time programing a less *funtional* "product"?
He doesn't have to convince to buy new stuff all the time just to suck money from your pocket into his.
He also understands that *stability*, both temporally and in the computer sense is an important "feature" because it increases *funtionality.*
What has OSS come up with in terms of "innovation"?
Well, Perl, Python, Ruby. In fact, OOP itself is the result of "open source" thinking. So is the relational database. These don't have much in the way of "features" though, in the way you've been led (and yes, you've been *led*) to think of them.These are geek tools. No wonder the magazine "pundits" don't know what OSS has done. Everything it's done is under their radar even though they benifit from these geeks tools every day.
Oh, by the way, I'm an "old fart", so I'm more fully aware of one fact of the state of the art of computer software and hardware than most. Before 1980 Open Source was a fairly normal way to go about things, and in many respects the entire computer industry is built on a open source base. It was the *closing* of source in the '80's that strangled development and put it on the same plane as selling chrome on a refridgerator as a "feature".
So what has OSS done? It *created* computer science. I was there. I saw it. I know *why* RMS behaves in some of the goofey ways he does because I fully understand the *stimulus* that resulted in it.
So you want better and more "innovative" software? Ok, the first thing you have to do is drop the entire concept of *feature*. A feature is chrome, bells and whistles added as a *sales tool*. It isn't innovation and it isn't technology. They are generally trivial and completely *devoid* of technology but exist simply to get "the masses" to oooooh and ahhhh over them.
The odds of your being able to do this are slim though. You've been well trained, since birth, to think of software as "technology", and a *product*, not a tool.
Pundits are, for the most part, *paid* members of the "software industry." Their own salaries depend on, either indirectly or *directly* on pushing new features to drive sales.
It isn't even in their interest to notice true innovation and most of them wouldn't recognize it if it bit them on their proverbial asses.
Is it any wonder they might bitch about the lack of "innovation" in OSS because it hasn't come up with any spiffy new "feature" the masters who pay them can take and sell?
Software as a *tool* follows the same slow, evolutionary and *function* based development pattern that say, the hammer does.
Software as "features" follows the same development pattern that leads clothing fashions to change overnight or tailfins on cars to get bigger every year.
OSS has no incentive to make the tailfins bigger.
Thank God.
KFG
Good idea, but needs to be generalized more (Score:2)
So open source has the code/unit testing phase down, and now this attempts to solve the design part. But I think to truly compete with Windows, Linux has to handle the others. So, given sufficient machines, does wide-scale regression testing become shallow? Given enough authors, does documentation become shallow? Given enough online advocates, does support become shallow? Given enough technical users, does evangelism become shallow?
OK so some of those weren't the most elegantly stated, but hopefully you get the idea. It's the way Microsoft has done it, and though you might dispute the quality of some of the components as produced by Microsoft, I don't think you can dispute the advantages of all of them being there.
- adam
Small Tools Philosophy (Score:3, Insightful)
A lot of the people who buy into the OSS concept also buy into the small tools philosophy -- where it is more powerful to have a lot of small tools that each do one little thing well than to have a handful of large tools that duplicate each other's functionalities to varying degrees.
Take digital audio editing, for example. I use SONAR for writing music now, which has some high-end features to make editing digital audio for music simple, along with support for plugins. I can also attach it to my favorite
But neither Sound Forge nor SONAR have the ability to do some of the audio processing things that CoolEdit can do. And of course, CoolEdit lacks features the other two have. So for me to use all of these features, I have to repeatedly open and reopen the wave file between the various editors until the file sounds the way I want it to.
The idea behind small tools would be to make each audio effect its own self-contained unit. Then you'd have another unit, the GUI for finding and merging all of these together. The music software (the SONAR equivalent) would then use the GUI for editing individual digital audio tracks, and then there's a whole separate batch of programs for dealing with MIDI, SMPTE, and other functions.
There can be several GUIs that all use these different functions. There can be several music software packages. And they all essentially work together.
This is how UNIX basically works. It's part of why getting anything done in Linux is a research project, and part of why we generally love Linux so.
Take CVS for a good example of the small-tools approach. It does one thing well: Merging multiple versions of files that many developers are working on around the world. That's really its only feature. But you can then use script files that it calls to enhance its functionality so that it sends you mail, updates a web page, works with BugZilla. You can integrate CVS into your IDE, and there are dozens of graphical front ends for it that can give you better views of changes. You can switch out what programs CVS calls, you can switch out the front ends, you can integrate it into your Emacs or your ProjectBuilder.
CVS thus becomes a version control software that can do everything even though it is a small tool that really just does one thing plus respecting the small tools approach -- although it needs a bit of configuration to work the way you want it to at first.
Linux itself is such a beast as well: It has invaded many markets simply because it is so configurable that it can be a server OS, a palmtop OS, a desktop OS, or even part of a mainframe system.
So I don't think feature-thinness is a problem; I think it is a philosophy that when applied correctly (as CVS and Linux do) that results in software that can do more than the most feature-rich bloated closed-source software out there.
Re:Won't ever happen (Score:3, Informative)
Zero times. Maybe Linus does talk about that, but let's face it: how many users know enough about the kernel to make a useful suggestion?
Now, compare it to more user-oriented projects like GNOME and KDE. Their community of users and developers always give good responses. Always. What's this cultural shift you're talking about?
Re:User/Developer false dichotomy (Score:2)
Most of these things are quite simple actually.
BTW, DVD is not a fair complaint. It's only problematic under Linux do to LEGAL complications.
As lemming shills often do, you exagerate the problems of non-dos systems and underplay the problems of dos systems. Both systems are a crap shoot and XP will NOT necessarily win.
Even with XP, you need to choose your hardware carefully and occasionally need to "actually know what you're doing" when installing drivers.
Despite your nice fantasy, Bill Gates has not quite replicated the Macintosh yet.
PCs remain random collections of spare parts.