Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Programming IT Technology

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."
This discussion has been archived. No new comments can be posted.

Shirky: Given Enough Eyeballs, Are Features Shallow?

Comments Filter:
  • Too right! (Score:3, Interesting)

    by samjam ( 256347 ) on Wednesday January 08, 2003 @07:29AM (#5038885) Homepage Journal
    To right it's about copying features then creating new stuff.

    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
    • As the AC wrote, if everything is fine, the need for source applies only to developers, right ?
      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)

      by Psiren ( 6145 ) on Wednesday January 08, 2003 @07:43AM (#5038914)
      We don't have new needs, except the need for source, the freedom Richard Stallman talks about.

      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)

        by Anonymous Coward
        Well most of the Free Software crowd is still coding in C and using one clone of unix or another...those are 70s innovations...

        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)

        by The_Laughing_God ( 253693 ) on Wednesday January 08, 2003 @08:47AM (#5039052)
        "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.

        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

      • Agree, but the problem is that the software industry, and, it seems to me, especially developers, are slow, if not resistant, to change. It is an industry where GUI tweaks count as "innovation". (Lest someone point to the web, it's now just about ten years old.) The industry works within the confines of an immense installed based of legacy hardware and software. Innovation that threatens that status quo -- and the livelihoods of many -- is unlikely to reach the desktops of users.

  • The problems... (Score:3, Insightful)

    by Anonymous Coward on Wednesday January 08, 2003 @07:38AM (#5038903)
    the problems with Free Software is that its followed by politicians and not innovators; naturally, in open source (that is, not the so-call Free software) this is less of a problem.

    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)

      by MikeFM ( 12491 )
      Can not a person be both a politician and an innovator? Caring about the world around you certainly doesn't keep you from having good ideas.

      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.
    • Innovators innovate need money, and open source don't provide.[sic]

      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.

  • by Anonymous Coward on Wednesday January 08, 2003 @07:41AM (#5038908)
    Open Source development, as practiced by many Linux programmers, is not about pleasing the masses; it is about scratching an individual itch. As the ratio of users (ie. non-developers) to developers grows, there are bound to be more itches left unscratched.

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

    • by Vendekkai ( 121853 ) on Wednesday January 08, 2003 @08:01AM (#5038960)
      I think the problem is _conceptualization_.

      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.
      • by Xner ( 96363 ) on Wednesday January 08, 2003 @08:22AM (#5038999) Homepage
        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.

        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)

      by FooBarWidget ( 556006 ) on Wednesday January 08, 2003 @08:49AM (#5039055)
      While some open source developers work on a project for personal reasons, others don't. Everybody has their own reason for contribution.
      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)

      by cshirky ( 9913 )
      (Sounds like a diagnosis of venereal disease, huh?)

      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."
    • by MikeFM ( 12491 ) on Wednesday January 08, 2003 @10:20AM (#5039500) Homepage Journal
      Programming should be a subject taught to everyone the way reading and math are. Obviously not everyone is going to choose that as a career but they'll be able to do minor programming to solve their own needs. I'm so often asked to write little programs that anyone could whip out in a few hours time that really it irks me that they don't think they can do it simply because they misunderstand what programming is.

      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.
      • by Ace Rimmer ( 179561 ) on Wednesday January 08, 2003 @10:29AM (#5039556)
        Wake up! Many of todays users don't even use their cell phone. I mean it - they ask you how to add someone's number or something similar after a year using it. You tell them and they ask again after two weeks. Everyone is not a developer becouse not everyone wants to.

        Many people ignore any technics as far as they can (and are afraid of) not matter how trivial it could be.
        • You'll notice I said to teach it to them first, at the same time you teach reading/writing and math. Not everyone is going to write daily sonnets but they can still use the skill of reading/writing. Not everyone is going to be an Einstein but knowing how to tally the cost of their shopping list is still very useful.

          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)

        by ThinWhiteDuke ( 464916 ) on Wednesday January 08, 2003 @12:59PM (#5040542)
        You know, one thing I've noticed is that many people tend to have a erroneous perception of the complexity of their jobs. I mean, after working (or studying) in a given field for a couple of years, you start forgetting how much you know and understand it. Many tasks seem utterly moronic to you even though a very bright specialist in another field would be completely helpless in front of them.

        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 /. are proficient in CS/CE. Many threads on /. are totally obscure to me. Sometimes, I don't even know what is the subject. Yet, I'm often appalled by the complete lack of understanding of financial basics of the /. crowd. One example? The RIAA/P2P "debate". How many times have I read "reasonable" arguments like "A CD costs $1 to burn and the majors charge 20 bucks. They are overpricing!!!"? Yet a quick look on yahoo! finance will provide you with most majors' annual reports and you'll see that their operational profit (whoops, I do it myself, do you know what operational profit is?) represent around 5% of their sales. Does this mean that a CD costs $19 to be brought to the store? No, of course. First, the 20 bucks is not the major's revenue it's the retailer's revenue, and he keeps a margin. Then, there's sales tax in most states. Then there are fixed costs, investments that are not proportionnal to the number of CDs you sell. Then there's price elasticity: volume increases if prices decrease. Then there's competition etc... Sounds complex? It's not. For me, it's like 6th grade common sense. Yet, many educated and clever people (though unfamiliar with accounting/finance) suck at that.

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

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

      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

    • I agree with your points. Additionally, I think it's important to realize that there is value in simplicity and limited feature sets in itself. More features often make a software system worse. Getting more resources to add more features to Linux is not necessarily a good thing.

      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.

  • by pubjames ( 468013 ) on Wednesday January 08, 2003 @07:46AM (#5038921)
    I've been thinking about this for a while. One of the things that is so powerful about Open Source is that it pools the abilities of so many people. Unfortunately, the mechanisms currently in place in the Open Source world are great for pooling the skills, observations and ideas of programmers and geeks, but they're not good at all at pooling them from end users.

    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.

    • by Anonymous Coward
      Actually I see users trying to give feedback all the time.

      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)

      by Xner ( 96363 )
      Somewhere where end users could make observations about OSS applications, and perhaps other users could vote or comment on them.

      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)

        by Random Walk ( 252043 ) on Wednesday January 08, 2003 @08:32AM (#5039020)
        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 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.

      • >> ...they just go "oh, well" and look elsewhere.

        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".
    • by Anonymous Coward on Wednesday January 08, 2003 @08:04AM (#5038964)
      end users?

      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"

    • I think the more pressing issue is making open source developers understand that end users are valuable. Mozilla for instance has pretty active forums (as well as newgroups on usenet), but frequently when someone posts a feature request the result is "nobody's working on that, code it yourself :)".

      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.
      • making open source developers understand that end users are valuable

        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)

      by pubjames ( 468013 ) on Wednesday January 08, 2003 @09:46AM (#5039310)
      Replying to my own post...

      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.
      • Great idea! I'm going to implement it in my daemon right now. Oh, wait...
      • That won't work (Score:3, Insightful)

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

        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?
      • > I've always wondered why MS never did something like this

        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)

    by Anonymous Coward on Wednesday January 08, 2003 @07:46AM (#5038925)
    I really can't understand why people say that free software which copies established UIs is a "bad thing", like a flaw or failure or something.

    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 :) )

    • by Tim C ( 15259 )
      Of course open source projects can do interface research, hold user trials, go through test cases, etc.

      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.
      • by Meech ( 166762 )

        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!

        • My experience is that open source/free software projects which attempt to first do market research, feature requests, and aggressive documentation simply never get off the ground. People don't want to help in the project until it's something they can use and have a reason to use it.

          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)

    by giel ( 554962 ) on Wednesday January 08, 2003 @07:57AM (#5038949) Journal

    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)

    by ch-chuck ( 9622 )
    Frankly I'd rather use a poor design that's relatively bug free than some focus group approved design that's loaded with lots of strange quirks and inexplicable hangups. Sure, using a poor design is like learning to ride a camel backwards, but as long as the camel is consistant and gets the job done it beats the dominant camel vendor's approved "industry standard", slick, nice looking, user friendly method when the animal keeps keeling over and dumping your load.

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

      • They're GENERAL PURPOSE machines. Perhaps if you can't handle that sort of thing, we could just get Bill Gates to start making souped up games consoles where you don't have to have the burden of free will.

        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.
  • by Anonymous Coward
    Actually, I find that Open Source/Free Software packages are pretty feature-packed, and for any given feature I can think of, chances are _some_ package already implements it.

    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.

    • by overunderunderdone ( 521462 ) on Wednesday January 08, 2003 @11:34AM (#5039972)
      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.

      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.
  • Students who need to do a school project jump immediately to mind. Or professors looking for new programming assignments, instead of assigning Yet Another Space Invaders Clone.

    The synergy here could be dramatic. Students learn by taking a stab at solving real user needs that might otherwise go unfulfilled.

  • by cygnusx ( 193092 ) on Wednesday January 08, 2003 @08:19AM (#5038990)
    ... but not necessarily in areas suits would like. It is worth it to remember that Clay Shirky (who submitted this article) is a well-known VC, so from his viewpoint it is understandable that Python would not seem very innovative.

    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.
    • To set the record straight, during 2000 and 2001, I worked at an incubator called The Accelerator Group, where my job was to assess new businesses' technologies. I certainly wan't the one writing the checks, and I certainly do think Python (and perl and Ruby) are innovative.

      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.
    • You place Mozilla under 'successes' and OpenOffice under 'failures'. I would say that given another year, OpenOffice will significantly improve. It's reached a usability level such that it can now really get going - somewhat like Mozilla did in early 2001. It's a 'not just yet' that I think is pretty much certain to get there.
    • by Fefe ( 6964 ) on Wednesday January 08, 2003 @10:37AM (#5039606) Homepage
      Funny how perception can differ.

      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.
      • Nautilus is the slowest piece of crap...but it has it's uses. If you have mutiple open file formats(png, gif, jpeg, txt, html...) you can reduce search times when working in multimedia projects. If you know of a simpler way of searching through different files please reply.


        Other business uses for nautilus.

        • Viewing printed documents. When sending a letter to a client why print one for a physical file just print as pdf/ps/txt.
        • Have Hylafax save in a shared mount and browse the faxes as they enter.
        • Instead of making a physical photocopy scan an original into the system save under an open format. You can then browse the documents.

        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.

  • I've had to deal with as a systems architect at my job is keeping programmers from committing feature creep. More often I found that the root cause of creep is programmers that wanted to be liked and loved by everyone, and rather than focus on making a program or system lean and mean, they would rather please every user.

  • Features (Score:3, Insightful)

    by henben ( 578800 ) on Wednesday January 08, 2003 @08:20AM (#5038996)
    Two random thoughts about features and open source: 1. Mozilla shows that Open Source *can* do innovative features (or at least, features not found in comparable commercial software like Intern Exploiter): e.g. type-ahead find. 2. The problem with letting users spec features is they will often make suggestions that are too vague, plain impossible or, if actually implemented, would make no sense. It's hard for most people to think about the impact a feature would have without actually trying it out. So maybe the way forward is to use systems which allow interfaces to be modified more easily (like XUL). Even if you can't implement an idea yourself, it makes it easier to find someone who can. The benefit of the feature is easier to understand if you can try out a prototype.
    • Re:Features (Score:3, Insightful)

      by Tim C ( 15259 )
      In my experience (as a web developer), sometimes users (even a single user) will specify features that are mutually exclusive.

      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?"
  • The problem with the Open Source programs that I've used is not that features are unoriginal (not a problem in itself) but lack of polish/integration.

    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.

    • Huh? You had to edit config files to make it work properly?

      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.
  • by XoXus ( 12014 ) on Wednesday January 08, 2003 @08:26AM (#5039007)
    As a free software author myself, I feel qualified to talk on this matter. I'll drop a hint to everybody right now: if you have a feature that you want, or think would be really useful, REQUEST IT!

    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!
    • And when the feature gets added, send an email, a postcard, a box of chocolates, The Almighty Buck, or a picture of your cat. Say thank you.
    • Don't forget a 'wishlist' page, for the features you aren't interested in or haven't time for. Even the features you hate - if someone else wants to fork and implement them, good luck to them :-)
    • by praedor ( 218403 ) on Wednesday January 08, 2003 @09:51AM (#5039341) Homepage

      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.

    • by micromoog ( 206608 ) on Wednesday January 08, 2003 @09:59AM (#5039384)
      What's the worst I'll do? Say "no".

      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:

      • Add the line myself and recompile the kernel, after getting Linux up and running without the disk in question (in essence, spend 3+ hours installing, only to end up with a non-standard configuration (which some software refuses to install on)).
      • Stop using my Ultra66 controller, losing that performance gain.
      • Dump the problematic disk, and use a different one.
      None of these options are attractive. I want to be able to just install Linux on my computer, as is, from a CD, without hassle. I still cannot do that, and no one is interested.

      This is my experience with the open source "process".

  • by Anonymous Coward on Wednesday January 08, 2003 @08:31AM (#5039017)
    If you run an open source project and you expect people to help you why not provide a roadmap of where you'd like to see your project go.
    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.
  • Design is King. (Score:5, Interesting)

    by mumblestheclown ( 569987 ) on Wednesday January 08, 2003 @08:47AM (#5039049)
    In every retail software company that I know of, there are these folks called designers. No, they're not programmers, so often time they take ridicule from the geektelligencia, but ultimately what they do (the good ones, anyway) is at least as important to the quality of the final product as what the coders do.

    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:

    • culturally, the OSS 3l337 reject anybody without super-skills. don't even pretend that this isnt true.
    • 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.
    • 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.
    Design = customer focus. OSS too often has this not. Profit drive causes customer focus. Alas.
    • ...but it is well documented that the requirements and design effort swamp the coding effort in the process of delivering software. I've worked at two companies so far in my carreer where the product was commercial software. Unless you are building an application that programmers will use, one really needs to enlist domain experts to determine what features will be effective. As an example, I developed a number of commercial applications that are used by electron microscopists in performing quality control on prototype integrated circuits. It succeeded not because my manager was a software developer with a Princeton education but because our resident microscopists told me exactly what the tool needed to do based on years of experience in the field.

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

    • *sigh* There we go again.
      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.
  • by sporty ( 27564 ) on Wednesday January 08, 2003 @08:47AM (#5039051) Homepage
    Seriously. I installed KDE, GNOME, other window managers, other software. Some worked great for my girlfriend, some didin't. But not once, not even once, did she ask who to go to when she had a question.

    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.
  • by shoppa ( 464619 ) on Wednesday January 08, 2003 @08:52AM (#5039065)
    The best tools - open source or commercial - out there are ones that now have applications far beyond what they were originally designed to do.

    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 :-)

    • You bring up a good point: I think it's time for us to all join together and thank the literally thousands of programmers who have contributed to pwd. All those that spent untold nights writing up patches for it, hanging out on the pwd-dev mailing list, going to Pwdcon every year (can't wait for April, see y'all in San Jose!), the pwd evangelists (not to mention ORA for publishing "Pwd: The Definitive Guide"), you're all part of one of the most important and underappreciated open source success stories out there. Color me /very/very/impressed/with/you/all !
  • by fruscica ( 637745 ) on Wednesday January 08, 2003 @09:08AM (#5039098) Homepage Journal
    In Von Hippel's parlance, 'Lead Users' drive innovation. Specific to process innovations (including innovations encoded in software), non-technical domain experts (i.e. Lead Users) originate effectively 100% of innovations.

    See Von Hippel's papers here [mit.edu].

    Enjoy,

    Frank Ruscica

  • by Anonymous Coward on Wednesday January 08, 2003 @09:14AM (#5039126)
    This is ridicolous. It's the other way around. Open source / free software has always (long before it had those names) had much more productive innovation.

    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.
    • You had emacs, CVS and LaTeX and you wanted a *word processor*! Why? Because the better software wasn't "familiar enough".

      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.

  • My attraction to open source -- outside of the Stallman-esque "it's inherantly better by virtue of it being open" argument -- is due to the features it offers that Windows does not. Namely, the ability to customize my desktop to near-absurd levels and an extremely powerful command-line interface.
  • I'm not buying it (Score:4, Insightful)

    by Greyfox ( 87712 ) on Wednesday January 08, 2003 @09:21AM (#5039171) Homepage Journal
    You know that feature of GTK where you can highlight a menu option and press a key to change its hot key? Never seen that anywhere else. E and GTK had themeability well before I saw it anywhere else. Linux had the ability to tie two modems together for twice the throughput well before Microsoft "innovated" that particular feature. Hell Microsoft didn't even believe in the internet until it was going full-bore. Most of what makes the internet actually useful was developed by people like us making cool stuff we thought would be useful.

    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.

  • While this criticism is overblown

    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.
  • by Anonymous Coward
    there are definitely some great success stories for Open Source projects and thus the philosphy in general. However, (esp in the past) there has not been enough focus on properly engineered products as opposed to the hacked together prototypes that end up being added to, wrapped, glued, etc then repackaged out to everyone. One of the most frustrating things about proprietary software is the lack of integration choices. Sure, sometimes you might have these commercial products that given enough time you can hack together some middleware, conversion integration scripts and other performance destroying (but at least they work) techniques that will allow you to put together the features you want. However, what is often the case is that many "features" in other packages are simply overwritten with the packages you want resulting in that much more overhead and just plain ol' bad design.

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

  • On a related note, check out Shouldexist.org [shouldexist.org]. It is too intended to be a reposity of ideas. He hasn't been very successful, I think, perhaps Ben could be more successful with his initiative, because I think it is a good thing to exchange ideas like this.

    While I'm here, let me plug my Shouldexist postings:

  • by Eponymous Coward ( 6097 ) on Wednesday January 08, 2003 @09:46AM (#5039308)
    Adding features is easy. But I think often less is more. As an example, I compare Apple's iTunes software with MusicMatch Jukebox. I have both and I much prefer Apple's offering.

    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.
    • You seem to waver between removing features and making the program simpler.. They can be different things you know! iTunes could easily have all the same features of MusicMatch and still hide them in an area you'd hardly notice unless you needed to. The problem isn't the existence of the features, it's the design that plops them all out in front of you when you're not going to use them very often, if at all.
  • I think a more consistent criticism of Open Source, is that it's copying features too slowly. I'd settle for full feature for feature equality with the competition. Innovation will come along at it's own pace.

    An article at PCMagazine that touches on that same attitude is Here. [pcmag.com] (Item #2)

  • by Fefe ( 6964 ) on Wednesday January 08, 2003 @10:09AM (#5039437) Homepage
    Good Software is not about more features! Good Software is about doing it safely, reliably and securely. Good software is about doing it well, not doing more.

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

    • Exactly, features are bad! That's why I only use a special word processor without spell-check or an undo function. Who needs bloat! I'd rather know that the program I am using has clean efficient code than know that it works and lets me get stuff done.

      Now if only I could get it to be as easy to install and configure as qmail I'd be SET!
      • What you are describing is 1989 technology that ran on 8Mhz CPUs with 512K of RAM.

        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.
  • It is not that Open Source software lacks features but that commercial software is packed with an unhealthy amount of features since that is what sells the product.

    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.
  • by Twister002 ( 537605 ) on Wednesday January 08, 2003 @10:32AM (#5039582) Homepage
    How many web servers were around before Apache? The NCSA server, which was OS I believe.

    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.

    • So what? The internet is a very narrow part of computing. Furthermore, there is a big difference between software that is released with a freedom-loving license (BSD, GPL, Artistic, whatever) and software that was developed in a distributed open source way.

      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 :)]
      • > 2. I tell my development team to implement my innovation. Implemented.

        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 ... I still have to push rocks uphill, grease palms, and blow smoke up the collective asses of everyone in the organization to get them to acknowledge that I might even have a remote clue what I'm talking about ... then I can talk about code. And meanwhile get chewed out by my own boss for not doing my job, telling customers that what's breaking is their fault ... all right, I'm starting to go over the edge.

        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.
  • In the Other Model of program development, one person comes up with the idea for a feature, and someone else implements it. There's a mechanism in place that puts both sorts of people on a project.

    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. :)
  • While this criticism is overblown, the literature of open source is richer on the subject of debugging than design.

    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.

  • by kfg ( 145172 ) on Wednesday January 08, 2003 @12:39PM (#5040405)
    OSS is, we all know, is largely programed by geeks to 'scratch an itch'. Geeks don't itch for "features", they itch for functions. Tools.

    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
  • Think about how Microsoft makes operating systems (no really). There is an extensive design phase involving meetings with users and potential users. Then there is coding and unit testing. Then the whole thing is integrated and tested exhaustively on as wide a hardwarde matrix as can be found. Documentation is written, and after the product ships, support is done through product support, building up the knowledge base, etc. Finally, developers are encouraged to write software for Windows through Microsoft's evangelism efforts.

    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

  • by Rimbo ( 139781 ) <rimbosity@sbcgDE ... net minus distro> on Wednesday January 08, 2003 @04:37PM (#5042527) Homepage Journal
    I think the problem with thin features is not a bug, but a feature.

    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 .WAV file editor, Sound Forge, so that Sound Forge launches with that wave file if I double-click it.

    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.

If all else fails, lower your standards.

Working...