Forgot your password?
typodupeerror
GNU is Not Unix Programming Software IT Technology

Five Fundamental Problems with Open Source? 814

Posted by Cliff
from the stuff-to-talk-about dept.
meriksen asks: "I found a very interesting paper which I am sure will stir up a hornets nest. Despite the growing success of the Open Source movement, most of the general public continues to feel that Open Source software is inaccessible to them. This paper discusses five fundamental problems with the current Open Source software development trend, explores why these issues are holding the movement back, and offers solutions that might help overcome these problems." What do you think of the issues given in this paper, and how do you think the Open Source community should address these issues?
"The lack of focus on user interface design causes users to prefer proprietary software's more intuitive interface. Open Source software tends to lack the complete and accessible documentation that retains users. Developers focus on features in their software, rather than ensuring that they have a solid core. Open Source programmers also tend to program with themselves as an intended audience, rather than the general public. Lastly, there is a widely known stubbornness by Open Source programmers in refusing to learn from what lessons proprietary software has to offer. If Open Source software wishes to become widely used and embraced by the general public, all five of these issues will have to be overcome."
This discussion has been archived. No new comments can be posted.

Five Fundamental Problems with Open Source?

Comments Filter:
  • But... (Score:3, Funny)

    by TwistedSquare (650445) on Tuesday April 13, 2004 @04:41PM (#8853379) Homepage
    What about Free Software?

    *ducks*

    • Re:But... (Score:5, Informative)

      by Liselle (684663) * <slashdot&liselle,net> on Tuesday April 13, 2004 @04:45PM (#8853430) Journal
      Okay, you're being funny, but read the footnote at the bottom of the paper:

      In this paper, I use the general term Open Source, though often I'm exclusively discussing Free Software. As well, when I use the term Open Source projects, I'm usually referring to projects that have a contribution base wider than one or two individuals. I'm also aware that some companies release Open Source versions of their software, and though I certainly appreciate their donation, I'm excluding these Open Source projects in this particular paper's definition of Open Source, as some of my statements do not apply to them. I made these generalizations for the point of simplification, and not for any political motivations.
      • by adamofgreyskull (640712) on Tuesday April 13, 2004 @05:27PM (#8853930)
        In this post, I use the general term "Violent Puppy Rape", though often I'm exclusively discussing consensual sex between adults.
        I enjoy watching violent puppy rape.

        Lumping the latter in with the former helps no-one, least of all the puppies.
        • Re:Is she high? (Score:3, Insightful)

          by B'Trey (111263)
          Get a clue.

          Violent puppy rape is not consensual sex between adults. Using the former term to refer to the latter act is incorrect and makes no sense.

          Free Software IS Open Source software. It says so right on the label. Some, but not all, Open Source software is free software. In other words, Free software is a perfect subset of Open Source software. Using Open Source to refer to both is technically correct and should be perfectly acceptable. Using Free software to refer to both would be incorrect.
          • Re:Is she high? (Score:3, Informative)

            by jdray (645332)
            I have to say that I'm still a little confused. If the author is referring to Open Source Software, but not Free Software (as you stated, a subset), and not packages that vendors have released as Open Source, it seems to me that they've handily reduced the scope of their statement while keeping the moniker of Open Source Software so they can bash on it.

            "...buy me an acre of land,
            between the salt water and the sea strand."
            • Re:Is she high? (Score:3, Insightful)

              by B'Trey (111263)
              She's referring to Open Source as a development model and not as a particular piece of software.

              And I didn't say she wasn't referring to Free Software. She's referring to both. To go back to the puppy analogy above, referring to puppies necessarily refers to poodles. Not all dogs are poodles, but all poodles are certainly dogs. One needn't refer to "puppies and poodles." The term "puppies" necessarily includes poodles.

              In a discussion of the relative merits of poodles, it might be appropriate to speci
          • I think RMS would probably say that Free Software is open source, but not Open Source.
          • Ack...yes, yes...v. bad analogy, but it was only intended to be humourful. Apologies to PETA/RSPCA etc.
            Maybe a better one is...the difference between sex between consenting adults trying for a baby and sex between consenting adults who just want to spread some love in the world.

            A pre-requisite of a program being Free Software is that the source is open, this is pre-supposed by the 2nd and 4th freedoms. The reason for the source of Free Software being open is ideological.
            The reason for "Open Source"(
    • WHAT??? (Score:4, Insightful)

      by vwjeff (709903) on Tuesday April 13, 2004 @05:56PM (#8854335)
      Problems with Open Source Software. It can't be. Not true. *Plugs ears* La, La, La, La, La, La, La. I can't hear you!!!

      (Coming back to reality) OSS does have problems. In my experiences the problems are not techical but are with the interface. I started using Linux in 1998 and over the past six years the UI has improved. Linux is a mature OS and can no longer be considered a hobby OS but with that being said the interface, (KDE, Gnome, ect.) is still not as clean as Windows.
  • by GPLDAN (732269) on Tuesday April 13, 2004 @04:42PM (#8853391)
    For starters, the webserver should have been running apache, so it wouldn't have been slashdotted. Nothing worse than not having to read an article bashing the open source movement, because the IIS server was slashdotted....
  • Motivation. (Score:5, Insightful)

    by Jaywalk (94910) on Tuesday April 13, 2004 @04:42PM (#8853396) Homepage
    I think the author has good points, but I believe she misses the overarching explanation and, therefore, the logical solution. In a word, it is motivation. The basic reason for writing open-source is for the bragging rights. And the truth of the matter is that the only people we can really brag to are other geeks; most other folk just don't get it. She points out that open-source is "programmers writing for programmers." Well, duh. Who else cares?

    The solution is to provide motivation to write for someone else. There are a lot of companies out there making a lot of money off open-source, selling hardware or services. If they want open-source programmers to write code differently, they need to provide some motivation for that change. One possibility would be an annual award program which could include - for example - a "best documentation" category. The combination of a cash prize (it needn't be large) plus the bragging rights for having won could provide the necessary nudge to improving open-source code.

    • Re:Motivation. (Score:5, Insightful)

      by MenTaLguY (5483) on Tuesday April 13, 2004 @04:45PM (#8853431) Homepage
      My own motivation for working on Open Source is mostly just a combination of "If you want something done right, do it yourself," and polishing the skills for which I am employed.
    • Re:Motivation. (Score:3, Interesting)

      by Gabrill (556503)
      I think the author has good points, but I believe she misses the overarching explanation and, therefore, the logical solution. In a word, it is motivation.

      Exactly. UI design requires either directing force or a seperate person taking an existing project and making it user-friendly.

      The very cream of the crop open source software always has both, and is always funded somehow.

      Who would aspire to write a clean user interface for joe blow's project that might be dead or obsolete before you get done with it?

      • Re:Motivation. (Score:5, Insightful)

        by TrentC (11023) on Tuesday April 13, 2004 @06:37PM (#8854815) Homepage
        Who would aspire to write a clean user interface for joe blow's project that might be dead or obsolete before you get done with it?

        Well, for one, if the code is open, then the project isn't really "dead". Just fork your version and go on with life.

        Coordinating your patches with Joe Blow's adding of new or improved functionality, that might be a more reasonable concern.

        Jay (=
    • My thoughts (Score:5, Interesting)

      by gregfortune (313889) on Tuesday April 13, 2004 @05:08PM (#8853731)
      1) User interface design

      Good UI design is hard. A good UI designer might not even be able to code and hardcore coders generally don't make very good UI designers. It's simply not what they're interested in and so it gets only as much time and effort as is absolutely necessary. We, as a community have built some wonderful code, but not many in the community are actually UI designers. We need to find and motivate more of these people.

      2) Documentation

      Documentation is time consuming and not very rewarding for coders. As with UI designers, we need a large group of people who get kicks out of writing documentation and there are just too few of those special people. We need more of these people too. Trusting these tasks to the coders isn't enough.

      3) Feature-centric development

      Features are rewarding for developers and guess where they put their time.. Project managers are meant to drive the scope and direction of a project. Most of time, the project manager is the lead coder by default. Got to entice a few of these management types over too..

      4) Programming for the self

      This has an almost identical effect to #1 and the solution is the same. People who are good at usability issues must be found and enticed to contribute. Unfortuantely, we don't have much to offer in reward. Recognition? Nope... The coders/project managers get the credit for the released program. Money? Nope.. We're not talking about commercial software. Beer and Pizza? That's probably our best shot, but I'm not convinced.

      5) Religious blindness

      Blatently wrong, at least for a significant population of the community. Quite of few recent articles soundly debunk this.

      So, it's not going to "fix" itself and there is not much we can do to alter the situation. People are doing this for fun. If it's fun to work on features rather than write documentation, that's what they'll do. Commercial software will always have an advantage in this respect because people are paid to do the work they don't enjoy.
      • Re:My thoughts (Score:5, Interesting)

        by twofidyKidd (615722) on Tuesday April 13, 2004 @05:38PM (#8854083)
        "Good UI design is hard. A good UI designer might not even be able to code and hardcore coders generally don't make very good UI designers. It's simply not what they're interested in and so it gets only as much time and effort as is absolutely necessary. We, as a community have built some wonderful code, but not many in the community are actually UI designers. We need to find and motivate more of these people."

        With no intention of "tooting my own horn," UI design is something I excel at. In addition, I know how to code, I understand how to integrate the two and I know that those two things are often exclusive to each other. However, the few times I've been involved with Open Source projects, the "project managers" have expressed a disinterest in enhancing the UI for any of their software since they felt that the user base wasn't the kind that would benefit from it. Granted, that makes perfect sense, but in the long run, how many users will start to look for improved UIs as Linux moves to the desktop? I feel that poor UI design is PRECISELY the reason Linux isn't there yet, and I think for it to truly succeed on that level, they need to get some of design's heavy-hitters to bear their expertise on it. It isn't difficult to learn how to code, especially for designers since they already have an instinct for detail and "cleanliness" which carries over well into the coding world, but its exceptionally difficult for a hard-core coder to learn how to design well since its never been something they experience to the same degree as others, especially new users.

        If Linux is to truly compete as an alternative to Windows, it needs an interface that provides the ease of use and flexibility that companies such as Apple and Microsoft use in their products.

        It's not even that Microsoft's UI is particularly good, its that people know how to use it, and even then, most of those people use it poorly. Linux has the exceptional opportunity to set a new standard for usability.
        • Re:My thoughts (Score:3, Interesting)

          by gregfortune (313889)
          UI design is something I excel at. In addition, I know how to code

          If I could verify that and I was able to hire people right now, you'd have an interview tomorrow. It's easy to delude yourself into thinking you're good at both, but if it's actually true, you'll be in high demand.

          Also, remember that we are talking about UI design, not UI coding or graphics design. Those are completely separate skills.

          the "project managers" have expressed a disinterest in enhancing the UI for any of their software sinc
      • Re:My thoughts (Score:3, Insightful)

        by DaveAtFraud (460127)
        1) User interface design

        I also think the author of the article doesn't understand how open source projects get started and evolve. My impression is that most start from the individual "scratch an itch" program and then grow and evolve from there. This is, I need a program to do X so I write a command-line program to do X. I know where (newsgroup, whatever) other people are who might be interested in X hang out so I post about my program there. If enough people are interested, it becomes a real open sou
      • Re:My thoughts (Score:5, Insightful)

        by TekPolitik (147802) on Tuesday April 13, 2004 @08:03PM (#8855604) Journal
        5) Religious blindness... Blatently wrong, at least for a significant population of the community. Quite of few recent articles soundly debunk this.

        I agree with all points in the original article. I also agree with your indications of where the solution lies to (1)-(4). However I can't agree that there isn't a significant problem of religious blindness.

        As just one example, take the issue of the MDI interface. Mentioning the lack of MDI as an issue on /. is likely to result in your karma being wacked with a chainsaw. But the reality is, some people with experience with all four ways of doing this find MDI easier and more convenient. Yet open source projects consistently refuse to add MDI as an option.

        The four ways are, of course:

        1. MDI
        2. SDI, one desktop
        3. SDI, multiple desktops used to segregate windows.
        4. Tabs.

        I for one have experience with all these approaches, yet I still find the lack of MDI on Linux annoying in the extreme, and the alternatives less than convenient. Especially in the Gimp. The lack of MDI there really shits me.

        • Re:My thoughts (Score:5, Interesting)

          by spitzak (4019) on Wednesday April 14, 2004 @12:06AM (#8857281) Homepage
          Um, MDI literally means MULTIPLE DOCUMENT INTERFACE. Notice the word MULTIPLE. This means that several documents are in windows that are framed by another window. MDI was designed for exactly one purpose: to avoid swapping in other programs by avoiding the need to expose their windows when the user moved the window they were working on. This was necessary when Windows 3.1 came out (before that Microsoft tried to tile the entire window system, similar to the old Andrew window system and Lisp machines). This is absolutely and utterly obsolete nowadays.

          I suspect you are actually talking about framing different windows that make up the interface to one document, such as various toolbars and control panels, so that they all move together. On more modern programs they are often "tiled" to be adjacent to each other and you cannot overlap them.

          Please don't call that "MDI", as the term in wrong. Perhaps "single window interface" is more accurate, especially with the newer tiled ones.

          Personally I don't think single window interface is necessary, except for an annoying bug that is in Windows and has been copied on all the modern Linux desktops: the fact that clicking inside windows raises them to the top. This makes use of overlapping windows almost impossible, and has forced everybody to go to a tiled arrangement, or framing a hierarchy of child windows, so that the raised windows do not obscure important things.

          It would also be helpful if windows could be identified as belonging together in some way other than the child stacking order, so that iconizing the main document could hide them all, and they only take one entry in the taskbar. This is the other reason for the single window interface (in programs like Photoshop which still allow overlapping inner windows), and a lot of the reason for multiple desktops in Linux.

    • Re:Motivation. (Score:3, Interesting)

      by gatesh8r (182908)
      Here's motovation for you -- criticism. As part of the motovation in Open Source is recognition, the last thing you want is your project to be seen as "This is why you shouldn't use Open Source". On my project I hold everyone to a high standard of quality. This is a high expectation, but a reasonable one if F/OSS wants to make a place in Joe User's machine. I have my family using certain F/OSS on their machines, not because of ideology, but because it's good software. I think that is what the author of the
  • This is true (Score:5, Insightful)

    by zxd (724760) on Tuesday April 13, 2004 @04:42PM (#8853398)
    Open-source software does lack documentation geared towards the "common user". The documentation that is out there always seems to only understood by the geek.
    • Re:This is true (Score:3, Insightful)

      by rdsmith4 (767227)
      Hear, hear! Installing and configuring anything Linux is a nightmare unless one is a hard-core techie. For me, once I got it all set up it was infinitely better than Windows - but if it were as idiot-proof as XP, that would take all the fun out of Linux, no? Geeks love that feeling of superiority as they watch the next guy lose his 200-page brief due to a Windows crash, since that never happens in Linux.

      I suppose you've all seen the Dumbentia "Linux is more geeky" [dumbentia.com] [pdf] parody ad...

    • Re:This is true (Score:3, Insightful)

      by maximilln (654768)
      All I have is a resounding...

      BULL EFFING DOG P00P!!

      Have you read the user's manual for Windows lately? Oh wait... did you even get one?

      For effs sake. This documentation issue is complete crap. We're going to match documentation which isn't "idiot friendly" vs. documentation which is nonexistant?

      This is complete crap.
    • How about insulting market speak passed off as documentation? For games, docs that are not included so they can be sold separately in hint books? Docs for motherboards? The worst documentation I've seen recently was for some blade servers from IBM. Among other things, IBM didn't make it clear the servers, intended for the US market, required 220 volts. Also don't care for the patronizing tone that tax program interfaces adopt.

      Just ask Microsoft what Office is:

      Microsoft Office XP Professional puts the
  • er ... (Score:3, Insightful)

    by bob_jenkins (144606) on Tuesday April 13, 2004 @04:42PM (#8853402) Homepage Journal
    The thing holding back more widespread adoption of Open Source is that it doesn't ship already-installed on new computers.
    • by CaptKilljoy (687808) on Tuesday April 13, 2004 @04:55PM (#8853561)
      No, the thing holding back more widespread adoption of open source is that nearly no one currently would want it shipped already-installed on new computers.

      Make it good enough that ordinary users demand it, and adoption will come automatically.
      • This is a typical sort of 'engineer' type comment, naively thinking that people make rational decisions based on which products are technologically superior than others. The vast majority of people do not. Mostly they just use whatever everyone else they know seems to be using, and/or what they happen to already know how to use. If you made Linux far better than both Macs and PCs as desktop systems tomorrow, and they seamlessly ran all Windows and Mac apps, you still wouldn't get more than an additional tin

    • Re:er ... (Score:5, Insightful)

      by Planesdragon (210349) <slashdot&castlesteelstone,us> on Tuesday April 13, 2004 @04:56PM (#8853571) Homepage Journal
      Wrong.

      First off, it does ship on a minority of new computers. And, heck, it's about as easy to install Linux as it is to reinstall Windows.

      Secondly, and more importantly, OSS isn't widely adopted because, while free, it doesn't work as well or better than its proprietary counterparts in all aspects.

      A fine example of this is GIMP. I've installed it at home and at work, but I wound up doing most of my edits in Photoshop today because it does the task better.

      (Another good example of this is OOo; if you want a summation, check out my journal.)
      • Re:er ... (Score:3, Interesting)

        by HiThere (15173) *
        That's interesting. I have PhotoShop, and I do most of my work in Gimp. And the Gimp doesn't work as well on the Mac as it does in Linux..not even if you use Apple's version of X window and the fink's version of the gimp. (Nearly, though.)

        Mind you, I can see some uses for PhotoShop, but for those places I prefer Deneba Canvas. (And I prefer version 8 to version 9.)

        I do, however, wonder what the menuing system will be like for the next version of the Gimp, and when it will hit the fink. (I haven't yet
  • Installers (Score:5, Insightful)

    by October_30th (531777) on Tuesday April 13, 2004 @04:42PM (#8853404) Homepage Journal
    One serious problem is the lack of a standardized, easy-to-use (=click-and-point) installation program and the fragmentation of package management (rpm. deb. tar, whatever).
    • OPen Source, almost by its very definition, won't create standards, it'll just fork. So yes, you are spot on, but the solution to that vexing problem is almost impossible to implement.
    • GUI design (Score:5, Insightful)

      by plover (150551) * on Tuesday April 13, 2004 @05:00PM (#8853622) Homepage Journal
      You touched on what I think is the heart of the matter: "simple, one-click." In the article her first point is User Interface Design. She says "I suspect that there isn't one single reason for the poor quality of user interfaces, but here are some explanations I've heard roaming the Open Source circles"

      I think she missed the biggest reason of all here: Designing a good GUI is very hard. Wait -- let me further clarify that: it's very, very hard.

      Designing a GUI from scratch requires a sense of aesthetics (balance, color, flow) and the ability to decide exactly what needs to be up front, and what needs to be hidden behind a menu, option button, or some such. Frequently the developer will have a fervent opinion about "this is the most important thing, it must be on top" whereas a good user interface designer can step back and see what will work for the users. A good UI designer will also run user acceptance labs to test their designs. Many open source projects end up with little more than "Hey Bill, would you check this out for me?" And Bill, being aware of the project from its inception, and having heard about it over the lunch table for the last five months, already posesses a deeper understanding of the task that prevents him from being able to adequately judge the design.

      Apple, of course, has always been at the forefront of GUI design (at least as a commercial success, I'm fully aware of the contributions of Xerox Parc, et al.) I believe this comes from a strong, single, visionary designer, a rigid set of GUI design guidelines that must be absolutely followed, and a corporate mindset that the GUI is the most important aspect of an application. They undergo rigorous testing procedures, and countless user feedback labs. Microsoft hasn't ever caught up to Apple in that respect, although they do have a good set of GUI guidelines and some very strong products.

      But nobody in the open source world wants to be "told what to do". Also, nobody in the open source world feels they have the authority to stand up and say "you must design your GUI in this fashion." Some projects, of course, will have beautiful, solid GUIs thanks to having a quality GUI designer on the project. But that currently doesn't pan out beyond the scope of the single good application. So the consistency isn't there, and it will never be there until someone puts together a GUI committee that has the authority to stamp "Tux Approved -- Good GUI Inside" on open source projects. It will require a single, strong voice. And that voice has to have a world of talent behind it. That's a mighty tall order for hundreds of grass-roots volunteer efforts to come up with.

      • Re:GUI design (Score:5, Interesting)

        by ComputerSlicer23 (516509) on Tuesday April 13, 2004 @06:42PM (#8854867)

        I think she missed the biggest reason of all here: Designing a good GUI is very hard. Wait -- let me further clarify that: it's very, very hard.

        Okay, I want to take exception to that. Writting a good GUI interface, isn't that hard. I'll admit that what I do isn't directly applicable to the disucssion, but it has a grain of facts that everyone ignores about OS GUI design.

        I work developing internal applications for a company. Essentially everything is a web application that ends up being for the most part, a data entry job. There are plenty of other aspects of it, but that's a lot of what we do.

        In the end, I personally have made the user interface probably 3-5 times faster for the user to use. We are a far more efficient company, because of the tweaks we've done.

        Simple stuff, like changing the order of items on an interface. Easy stuff, like taking the web page to a my sister to have her pick nice colors, and a good font. To more complex things, like realizing that we read numbers that are essentially the same over, and over on the phone. The phone people had to figure out where the change in the number happened, and then say "starting at ....". Now, we use a color coding system to notate where the differences are. We moved elements around to take better advantage of the Wheel mouse. We changed the ordering and names of specific items in drop down buttons so that a single letter could choose them. We used Java script so that in 99% of the time when you fooled with interface control X, control Y should be set/reset that was done automatically. We duplicated controls and keep them in sync with JavaScript. So that sometimes it's handiest to scan down a page on the left, but the most spends all of it's time on the right hand side. So we duplicated the controls, so when reviewing that everything was done properly involved scrolling thru identical controls, but the actual clicking was done in a cluttered area of the screen because that is where other important controls were.

        All of this could easily be done by me (the programmer), because I used to watch people use the software. I used to see people spend a bunch of time, using their fingers trying to find changes in numbers. I realized how much time they wasted with their mouse. I realized how often they had to cut and paste numbers into lookup forms, of flip screens to get simple information they need. So we made direct links for the lookup forms. We have customized each screen so the common information you need from other screens is duplicated at the top of the one you are working on. We have done specific testing to ensure that certain pages opened a new window automatically, so the user doesn't lose the page they are on (used to happen all the time).

        Now, the reason I'm talking about all the little changes, is that, they were only done because I watched users. I saw what they spent time doing. I saw what frustrated them. I paid attention to what they griped about over the lunch hour.

        Because I was in the same room with them, and I could interact with them. I had a specific advantage that most OS people never have. I can watch my users use my software, to see what they find clunky. In a lot of ways, OS people would be better off to develop an X Windows recording application so they could ask users to record their software usage for later review. So you could see what the user does. How they spend their time. What they think the quickest way to do something is.

        A lot of OS people, precisely because it is a large distributed population, can't see how much people struggle with interface. They can't see how many problems it creates for people. How much time was wasted fiddling with idiotic layouts. Now my specific task was simple, because I had a fixed task, that a person kept doing nearly identically. Of the them got trained to use the software identically, and they shared information about the quickest ways to get things done. So I

  • Reason #6 (Score:4, Funny)

    by pknoll (215959) <slashdot.pk@noSPAM.grapefish.org> on Tuesday April 13, 2004 @04:43PM (#8853406)
    6. No Profit!

    (I keed! I keed...)

  • well.. (Score:4, Insightful)

    by patrick.whitlock (708318) on Tuesday April 13, 2004 @04:43PM (#8853413)
    i have to say, that my own personal reason for not using an OS that is open.... is because i can't figure that shit out. i've been spoiled by microsoft. make it more friendly, and more ppl will use it
  • by Anonymous Coward on Tuesday April 13, 2004 @04:43PM (#8853414)
    Are hardly exclusive to Open Source development. Plenty of closed sourced projects suffer from the exact same things, and plenty of open source pojects do not.
  • by orangenormal (728999) on Tuesday April 13, 2004 @04:44PM (#8853419)
    Part of the problem, I believe, must also be the inadequacy of software download websites. In general Open Source distributions are tricky to obtain and install. The sites are difficult to navigate and provide too many download options that reqiure understanding beyond what most users posess. i.e., should I download the "source" or "binary" version? "Stand-alone" or "self-installing?" All of these are terms outside the average user's vocabulary. Worse, many simply link to those SourceForge sites where users are presented with myriad different versions of the same product--some not even stable.
    • yeah that's why I recommend realplayer to everyone.

      not.

    • by Decameron81 (628548) on Tuesday April 13, 2004 @06:35PM (#8854801)
      Two days ago I downloaded two projects from sourceforge just to see a few opensource games. They both were tagges as Mac OS X compatible.

      Next thing I do is decompress the first one and check the readme. For some weird reason it wanted me to go through the hassle of compiling it myself... now I could have learnt how to compile from the command line, but I just felt lazy and the project didn't look THAT great from the screenshots so I ended up trashing it.

      The other one wanted me to compile it too. And I said what the hell. So I run "sh build.sh" or something similar to build the code and the next thing I know is it won't compile. Reading through the docs I find out that there's like 5 or 6 libraries I am supposed to download and install in my system. SDL, ziplib, can't remember what they were... but I just decided to trash it too.

      My point? I was interested in two open source projects and I ended up trashing them just because the developers didn't bother to make them easy to install. Because the developers didn't bother to make the process painless to someone who still has to learn the ways of Linux (actually OS X is based in BSD).

      I know, many people here will probably tell me that compiling source codes from the command line is as basic as turning on the computer. But as an end user, I felt highly uninterested in learning the inner workings of my system or the programs I downloaded.

      Diego
  • #5 seems odd (Score:5, Insightful)

    by JohnGrahamCumming (684871) * <slashdotNO@SPAMjgc.org> on Tuesday April 13, 2004 @04:45PM (#8853429) Homepage Journal
    Religious blindness

    Doesn't seem to me to be specifically open sourcey (sp?) to be religious about technical issues. I mean just look at Microsoft, they are a frikkin' technical monopoly: .Net good, use .Net, write everything in C#, Java bad, GPL evil, etc.

    John.
  • i got one (Score:5, Insightful)

    by jeffy124 (453342) on Tuesday April 13, 2004 @04:45PM (#8853441) Homepage Journal
    usability.

    ESR's rant over CUPS is something we need more of.
  • Features vs 'core' (Score:5, Interesting)

    by in7ane (678796) on Tuesday April 13, 2004 @04:46PM (#8853449)
    "Developers focus on features in their software, rather than ensuring that they have a solid core."

    You are kidding right? This is probably so much more true of proprietary software (to bring up the obvious - there is no open source clippy). Except for that, it's hard to disagree with the interface and documentation arguments on the whole, however keep in mind the rapid development pace that some open source projects move at, if you look just at the 'stable' projects you will usually find much better interfaces and documentation.
    • (to bring up the obvious - there is no open source clippy)

      And maybe that's the problem.

      I'm one of those guys who can't wait to take a hammer to the options and smash sh!t like that Clippy into the flaming embers of hell itself. Don't hide stuff from me, show me fully qualified paths, give me dangerous options, don't tell me what to do, don't hold my hand, I don't want your useless tip of the day, that kind of stuff. And I hang around with people of a like mind -- my friends are all techies, and they,

      • by MsGeek (162936) on Tuesday April 13, 2004 @06:26PM (#8854690) Homepage Journal
        I'm going to get flamed/modded down to oblivion here, but I actually like that damn cat you get with Office 2000 or above. Very nicely animated, its behavior is very cat-like, and yes, it's kawaii as hell.

        Now if only I could set it up in a "Neko" mode where it can play "chase the mouse" with the mouse pointer...that would be cool.

        Note that what I am talking about has nothing to do with the help system. I suspect that the majority of the people who actually "like" the Office Assistants are probably fond of them for toy value, not as a way of searching for help. I seem to remember that the "Dogz" and "Catz" system toy programs were somewhat popular a few years back. Those programs still seem to exist... http://petz.ubi.com/ [ubi.com].

  • by pholower (739868) <(longwoodtrail) (at) (yahoo.com)> on Tuesday April 13, 2004 @04:46PM (#8853451) Homepage Journal
    I find that users tend to prefer proprietary design because it is integrated into the OS. GUI applications are another story. A lot of open source projects are still command line, while very powerful and chocked full of information; they are not designed for people that are only used to Windows.

    One of the items this paper doesn't seem to mention is that with Open Source, you tend to have less R&D money, if any at all. This is what has kept the likes of Microsoft and Apple at the top. They can afford to spend the money on intuitive, user-friendly design. That, and it would help if open source items, such as Linux, were pre-installed on the PC when it was bought. I know it is out there, but not as strong as it would need to be to succeed.

    • by Ilan Volow (539597) on Tuesday April 13, 2004 @05:06PM (#8853704) Homepage
      Open Source companies have tons of money. Look at all the kernel hackers they hire to work on stuff.

      Red Hat spent $700,000,000 on buying out compiler companies and dot-coms, and then the reason their programmers give me for why their software has usability problems is "we can't afford an HCI department."

      Linux companies like Red Hat (and Suse, bought out for $200,000,000) have tons of money. It's just that they don't consider usability to be very high on their list of priorities. To these folks, its only the technical stuff and server stuff that matters. Screw having a properly trained user interaction dept that makes their software easier to use.
  • by Anonymous Coward on Tuesday April 13, 2004 @04:47PM (#8853464)
    Well written article, and she even forgot to write about the other problem of FOSS:
    PROPER TESTING.
    When by proper testing, I mean test cases for each and every OSS app is getting released out there. Simply releasing an app as a "beta" and asking for input from random people who will use your app on the web, is NOT how proper QA should be happening. Unfortunately, distros are not any better on this, who are supposed to be "professionals".
    • Ignoring the problem as it relates to a medium to large vendor of Free Software for a second:

      If I write an application to suit my needs, I will use alpha and beta versions myself, and address any problems that come up. There's no way I'm going to write test-cases and go through a formal testing procedure, because I'm not motivated to produce a mature and complete application...just to do the bare minimum to satisfy my needs.

      As for "asking for input from random people who will use your app on the web",
  • by Dark Paladin (116525) * <jhummel@NosPam.johnhummel.net> on Tuesday April 13, 2004 @04:48PM (#8853472) Homepage
    I think that the only issue with Open Source boils down to this:

    The things that nobody wants to do, but somebody has to.

    Nobody wants to think about documentation. Or user interfaces. These things are hard, tedious, and a hell of a lot more boring than actually coming up with stuff to "make things work".

    It's the reason why Windows is pretty easy to use. Personally, I think that OS X is the preferred model that many business should think about: having an open source "core" (BSD or Linux, whatever) with standard interfaces, then having the companies business be working on the upper levels: the stuff you have to see, since that's what you can pay somebody to work on.

    Novell is taking such an approach, I believe, along with IBM. The issues with how to handle memory and the things that 99% of the people never see, let that get put out there so it becomes stronger. Faster. Better, and if nobody "owns" it, then everybody can use it to make their business better - fosters competition.

    But your job is to provide the "service layer", such as with Novell/IBM admin tools to administrate those underlying pieces, or Apple giving you a nice "standardized" GUI where everything just works with the rock solid core.

    These issues in the paper are not new - but they're the things that somebody, somewhere down the line, has to fork up for. And that's where I'm content to let a business pick up that slack and fill a product niche on top of Open Source software.

    Granted, of course, they play by the rules, and let the rest of the community in on what they did so we can all benefit and get better.

    Of course, that's just my opinion. I could be wrong.
    • I think that the only issue with Open Source boils down to this: The things that nobody wants to do, but somebody has to. Nobody wants to think about documentation.

      I will second that opinion, and run with it a little. But first let me say that this is a self-perpetuating situation: geek1 is using OSS and needs a program to do xyz->geek1 looks on freshmeat->geek finds program for xyy written by geek2 using OSS->geek1 mods xyy program to be xyz program and reposts to freshmeat, playing geek2 t
  • by odano (735445) on Tuesday April 13, 2004 @04:48PM (#8853477)
    I really agree with this. For example, there are a few software programs that I use and would like to recommend to people, but then I remember the long text based config file, or other small things that prevent the naive user from getting software working properly.

    Little things like this make programming something about 10x easier (which is why most open source programmers do it, even I do it), but really do leave out the general public.

    I mean look at the most popular open source programs (going by sourceforge). You have DC++, which has a beautiful interface, much better than its closed source counterpart (also more useful). You have Gaim, again designed with the interface and users in mind.

    What is the common factor among the list? A pretty GUI. How many powerful console applications do you see up there? Very few.

    The author definetly has a point.
    • by PCM2 (4486) on Tuesday April 13, 2004 @05:39PM (#8854103) Homepage
      I really agree with this. For example, there are a few software programs that I use and would like to recommend to people, but then I remember the long text based config file, or other small things that prevent the naive user from getting software working properly.
      Sounds like somebody should come up with a generic configurator program for open source packages. You hear a lot of "under the hood" references when it comes to Linux. Sounds like what we need is a "wrench."

      A wrench is a tool, plain and simple. You could have a brand-new engine from a vehicle you've never seen before, and you know that if you want to open it up, you'll probably need a wrench. This program would work the same way.

      I'm thinking along the lines of a widget-based GUI tool designed to manipulate text files. Each new application, when you run the install script, would install a "plug-in" into a directory under /etc. These would basically be files (XML?) that describe each application's configuration options. The "wrench" would then map these into standardized windows, with pull-down boxes where multiple options exist, checkboxes for Boolean flags, etc.

      In an ideal world, plug-in writers could also organize those options into meaningful series of screens/tabs, so the UI was even more intuitive. But not too much, mind you! The idea isn't to create entire HTML-based interfaces full of graphics etc., where every one looks totally different. The idea is to stay as generic as possible, so that using the tool feels totally familiar after the first few times you do it. Like hand tools in your garage.

      Noob installs software. Noob sees message saying, "Thank you, that was successful." Now what? Noob has half a clue enough to figure he probably needs to configure some options that software. How does he do that? Of course, he runs GConfigure, and voila! There's the application he just installed, in that little hierarchical list on the left. Click here, click there, point it to the right drives/directories/database instance, press the Start button, and away we go.

  • Mozilla (Score:5, Funny)

    by lorcha (464930) on Tuesday April 13, 2004 @04:48PM (#8853478)
    Easy to use. Easy to install. Better than closed-source alternatives (no popups, no IE viruses). Last, but not least, passes the mom test. My mom successfully installed and is usining Mozilla. All by herself.

    Now if I can only get her to quit forwarding me those retarded chain letters we'll be all set.

  • by winkydink (650484) * <sv.dude@gmail.com> on Tuesday April 13, 2004 @04:48PM (#8853479) Homepage Journal
    Open Source seems to ignore this whenever it becomes inconvenient to pay attention to it. Yes, there are exceptions. But it is not infreqeunt to encounter somethign akin to, 'users of verions prior to X.yz must completely redo a whole lot of things because we changed underlying structures'
  • by wronskyMan (676763) on Tuesday April 13, 2004 @04:49PM (#8853487)
    Developers focus on features in their software, rather than ensuring that they have a solid core.

    This motivation is even more present for commercial apps; developers are asked to add every feature that somebody suggests in a focus group, etc. for better advertising - e.g, We have this feature and $COMPETITOR doesn't! Many of the Windows security scares have been due to poorly thought out features becoming bugs; for example, using ActiveX or VBScript to "spice up" web pages or Outlook's tendency to "enhance" emails by displaying HTML
  • Interesting points (Score:5, Insightful)

    by LostOne (51301) * on Tuesday April 13, 2004 @04:49PM (#8853494) Homepage
    One thread I've noticed emerging in the comments here is that of "but non open source stuff has the same problems". Why should it matter if the non open source stuff has the same problems? If it's a problem at all, should it not be addressed?

    After all, addressing a problem that other guys haven't is a good way to improve the chances of getting ahead.
  • documentation (Score:3, Interesting)

    by nizo (81281) on Tuesday April 13, 2004 @04:53PM (#8853534) Homepage Journal
    I assume the author isn't aware that the code often contains comments that can be helpful (especially if they are in some language you don't know). Seriously though, I wish universities would put their English students to work writing docs for the piles of open source software out there, rather than sticking them with meaningless brain-dead assignments. Get a grade, and do something useful you could even put on your resume, cool huh?
    • Re:documentation (Score:3, Interesting)

      by Cecil (37810)
      Yeah, I know the first thing my grandma did when she downloaded Thunderbird was to look through the code for documentation on how to set up her POP account.

      Code comments are for co-developers who want to work on your code. Code comments are NEVER FOR USERS. Sometimes, developers are the users, but this does not excuse the practice. As a developer who wants to use something, I never want to have to download the source package to get README about how something works, much less have to poke around looking for
  • by FatRatBastard (7583) on Tuesday April 13, 2004 @04:54PM (#8853540) Homepage
    The article brings up lots of good point that in general I don't have too many problems with, but frankly I don't see how most of these are FOSS specific. For every issue he highlights I can point to just as much closed source software that exhibits the same problems. I think the basic arguement behind all of this is a profit margin helps fix these problems, when in reality they don't. There's pleanty of closed source software that's counter intuitive, badly documented, bloated and doesn't do exactly what I want it to do, and there are examples in the FOSS world where the developers actually do care about the above issues.

    I actually think these are exellent points to bring up about *all* software, as most, regardless of development methodology, suffer from one or more of these issues.
  • Good at cloning (Score:3, Interesting)

    by taradfong (311185) * on Tuesday April 13, 2004 @04:54PM (#8853547) Homepage Journal
    Open source projects consistently do a great job at replicating stuff that non-open source groups develop. GNU/Linux itself is more or less a remake of Unix. MySQL reimplemented SQL. Samba emulates Microsoft's protocol, etc. That's because coming up with and delivering completely new things is hard. It usually requires pain, and some really unpopular decisions which fly in the face of the Open Source culture.

    Of course, this effect is amplified with UI/highly integrated applications. When text is the input and the output, it's easy to glue things together with grep/awk and automate with scripts. But the user interface with text is simple, clean and unchanged after several decades. A GUI app inherently begs for some kind of library because few can (or should!) code this stuff from scratch. Fine. Except how often are you happy with the baked-in stuff for all but the simplest apps?

    So once you venture from text, you suddenly face the obstacles Microsoft has tried to fix with COM/DCOM/DDE/OLE/.NET/ATL/MFC and so on.

    The disadvantage Open Source had vs. Corporate-ware (and I mean *had*) is that chaos erupts with no unifying thing to keep all the GUI and inter-app stuff in line. It seems that the distros are now becoming that unifying force. The downside is that it is getting hard to tell the difference between RedHat and Microsoft!
  • The pitfalls mentioned in the editorial seem to be more common to open source projects than proprietary solutions, and I believe the issue may be with control.

    With proprietary solutions, there are full indepth analyses of market need, product placement, user targeting, etc etc, which as far as I can tell, open source projects lack. The mentioned problem of documentation is a good example of this: if the target user is successfully identified, it should be obvious that unless the user is, himself or herself a programmer familiar with open source "documentation", a user guide covering every feature, behavior, and interface should be created. One software engineering practice (to which I subscribe to) is to create the user manual *before* coding the program, and not changing it unless there's a damn good reason.
  • by mahdi13 (660205) <icarus.lnx@gmail.com> on Tuesday April 13, 2004 @05:02PM (#8853652) Journal
    1. User interface design
    2. Documentation
    3. Feature-centric development
    4. Programming for the self
    5. Religious blindness

    Same argument, different 'paper'
    1. Improving and is nearly a non-issue these days
    2. Documentation is more plentiful then most 'closed source' groups. If having less 'Dummy' books means less documentation, it's a negative I can live with
    3. Doesn't MS Office count as a Feature-centric project? You can really put MSOffice in place of 'ProjectX' and it would sound the same
    4. Sounds like a crappy project to me if the developers know of the problems but don't fix them.
    5. There are lots of egotistical elitests, but I've noticed in the wild that there are less now then a couple years ago. If you punch everyone in the face and they all leave, don't be suprised when there is no one left to punch.

    Overall it sounds like this guy had a bad experiance with A single project and decided to generalize it with all Open Source. I'd be nice to know what ProjectX is, then we all can get on them over it.

    The Notes section seems to get the highlight of the paper.
    • Thank you or making the Religious blindness case for the author.

      > Documentation is more plentiful then most 'closed source' groups

      This is a load of bull crap. Apparently, you have been a Linux user for a while. When I first started out (last year), I spent hours on newsgroups trying to solve my problems. For that matter, I'm searching NGs right now to find out why my RH upgrade borked. Closed-sourced SW has books, manuals, and ultimately some one you can ask for a fee. This is not the case when you hit
  • by harlows_monkeys (106428) on Tuesday April 13, 2004 @05:05PM (#8853683) Homepage
    I think the reason things like UI and documentation are hard for open source is that the people that are good at them don't really get anything back by contributing their effort to open source.

    Code can be split into parts and reused. A professional programmer benefits by having a large body of good open source code.

    Documentation, on the other hand, is much more likely to be a one-shot thing. If a professional technical writer were to write, say, a terrific GIMP manual, and release it open source, it's not likely that they are going to get anything back that will help them on other documentation projects, at least to the extent a coder gets for releasing code.

    Same for UI designers.

    Basically, good open source documentation and UI design comes from people doing it as an act of charity, whereas there are good practical reasons for people to write open source code.

  • by ThisIsFred (705426) on Tuesday April 13, 2004 @05:06PM (#8853697) Journal
    Well, that article was rather short (figures, I actually read the article and find it wasn't worth the effort). I think two points that need some greater detail are as follows:

    1. The big advantage of open soure - sharing and code reuse - just isn't happening. For example, I'm looking for a new OSS webmail program. I have certain criteria. There are something like 209 projects related to this on Freshmeat. Why? That is no more efficient than a couple hundred closed-source vendors doing separate implementations of competing products. What have we gained?

    2. Choice really isn't, sometimes. When I am faced with two OSS projects that supposedly perform the same task, I often find that each lacks a function that the other has, and neither do everything they should. Why don't they team up and make a single, solid project?

    I think the answer may have something to do with the inability of people with different skill levels to work together. Or that differing programming styles prevent two developers from ever agreeing with eachother. That's not comforting.
  • by Qbertino (265505) on Tuesday April 13, 2004 @05:06PM (#8853703)
    They are rather related to zero-cost voluntary software developement, no matter if OSS or not. It just happens that currently both are often the same.

    I'm currently develpoing OSS and getting paid to do it. Overall consitency goes way over 'cream-code'.
    My partners don't care about dirty hacks as long as the result is usable and looks good. Thus I'm cutting corners in code-beauty. It's going to be GPLs OSS none the less.
  • by Bill, Shooter of Bul (629286) on Tuesday April 13, 2004 @05:06PM (#8853707) Journal
    You'd better belive I'm designing it for ME. Its not fun to design programs for other people. Thats a job. I wouldn't do that for free. If you would like to PAY me to make it work for you, I would be happy to. Of course it is open source, so if you don't like it you can change it yourself.
    • Of course it is open source, so if you don't like it you can change it yourself.

      Except I can't. I don't have the time, knowledge or inclination. The software or the OS is a tool to aid me in my chosen (or paid) activity. Time spent changing the tools is time I could have been enjoying or earning.

      Im my last job, they moved us over from WinNT to Red Hat with KDE. For a while I had two machines sitting on my desk. On one occasion I wanted to print something double-sided. I forget the specifics, but if I wa

  • fvwm (Score:3, Insightful)

    by lcde (575627) on Tuesday April 13, 2004 @05:07PM (#8853719) Homepage
    At the very first lecture of the Software Tools and Systems Programming class that I took, we were carefully instructed that the best software tools are small programs that do one thing well and interface cleanly with the other tools. This sounds like a philosophy which is perfectly suited for the Open Source movement: if you have many contributers and they all create one (or several) small programs that do one thing well and interface cleanly with the other programs, a very clean and powerful system can come out of it. And I believe that this has been proven by the durability and longevity of the Unix operating system.

    i fully agree that this is a problem. projects like FVWM have it right. with many different programs (taskmanager and so on) on top of their core. All modules have their own manpage and are configured in the core or separate.

  • by exp(pi*sqrt(163)) (613870) on Tuesday April 13, 2004 @05:12PM (#8853781) Journal
    Where's the documentation? It came with a flimsy document showing trivial stuff. When I do Start->Help I get tons of documentation but it's all 'fake' in the sense that it tells me stuff that's obvious. Eg. to Share a folder I need to right click on the file and select 'Sharing' et.c. Doh! Where are the docs telling me how to write a device driver? Where are the docs telling me how to manipulate junction points? This OS shipped with Internet Explorer which supports a bunch of programming languages like Javascript and VBS. Where are the docs about these? Where are the docs for the APIs in all of the DLLs all over the place? Oh yeah...I have to buy a separate product to access those. When my PC fails to boot what do I do? Where are the docs telling me about the different stages during the boot process? Are there any logs? What is the precise format of NTFS on the disk? Endless questions to which I can find no answers in the documentation that came with my OS.
  • by akuzi (583164) on Tuesday April 13, 2004 @05:14PM (#8853797)
    > suspect that there isn't one single reason for
    > the poor quality of user interfaces, but here
    > are some explanations I've heard roaming the
    > Open Source circles: geeks value integrity over
    > beauty; the gender gap in Open Source
    > communities; it's intuitive to the programmers
    > so why would they fix it? (see Programming for
    > the Self), the belief that a pretty user
    > interface can always be designed later once
    > they're done the real work, the belief that user
    > interface design isn't real work, and several
    > others.

    I think the two main reasons:

    1) Open source developers just don't think about usability - they think about functionality. It's kinda of like a blind spot that naturally develops when you spend all day coding.

    2) Good user interface design is very hard. It is a skill that most developers don't have.

    When you see a slick application like the Apple i-Apps or pro graphics and video programs, the reason they're nice is that they were designed by usability specialists, who are following interface guidelines and testing the interfaces on actual users.

    There are just not enough of these people in the the open source community.
  • by dmoen (88623) on Tuesday April 13, 2004 @05:14PM (#8853799) Homepage
    This is not a troll, I'm serious. What if the poster had said:
    Despite the growing success of vi, most of the general public continues to feel that vi is inaccessible to them.
    I do understand the point, which is that Linus has plans for world domination, and he wants Linux to take market share from Windows.

    But this doesn't interest me. I don't like Windows, and I can't imagine liking a Linux based Windows clone that is just as easy to use as Windows any better.

    The more Windows-like Linux becomes, the less I am interested in running it. I've mostly switched to FreeBSD (I used to be Redhat only).

    I use the CLI, I edit with vi, I write lots of scripts, and so on. In my opinion, text based, scriptable interfaces have a flexibility and power that Windows lacks, and which I refuse to do without.

    This is not to say that traditional Unix is perfect. I have spent a lot of time thinking about how to make the Unix user interface better and more powerful. I think there is a lot of interesting work that could be done on making Unix suck less. I just don't see building a Windows clone as movement in the right direction.

    I understand that the general public doesn't want a better operating system. The general public wants Windows. So feel free to donate your time building an open source windows clone, but count me out.

    Doug Moen

    • A better operating system doesn't necessarily mean a windows clone. It means a better operating system.

      Software with crappy or lacking documentation isn't good software, no matter what interface it uses.

      Btw: one of the tenets of user interfaces is: if the user requires a manual, then the interface has failed in its task.
  • by swagr (244747) on Tuesday April 13, 2004 @05:15PM (#8853812) Homepage
    Availability.
    Most people simply don't know that GIMP and OppenOffice exist. Or that they can be installed on Windows fairly easily.

    Installation.
    Some open-source developers just assume that you'll have a compiler handy, and will want to adjust the Makefile to point to the right libraries (which you'll have to compile and install yourself...).
  • by schon (31600) on Tuesday April 13, 2004 @05:21PM (#8853868)
    I stopped after finding this gem:

    For some reason, Open Source projects seem to have a lot of trouble with user interface design. A good example of this is the Mac OS X situation. I've seen people with relatively little computer experience navigate around the OS X desktop for a few minutes, and then turn around and tell me that it "flows very nicely" and "just feels nicer" than what they're used to.
    If I'd put the same person on KDE or Gnome, they probably would have spent half of their time fighting their own intuition, and the other half wondering why they were being forced to sit in front of such a clunky desktop when their Windows XP computer worked so much better.


    So let me get this straight:

    You say that OSX is a great example of interface design, because real live people have told you so... and KDE or Gnome are poor examples of interface design, because of an imaginary scenario?!?!?!

    For the record, I've put people (such as my mother) in front of a KDE desktop, and they've had no problems with it (in fact my mother said how much she liked it.)

    Note that neither this, nor the author's experience actually has any bearing on whether KDE or Gnome are usable or not.

    Using the exact same methodology in this article, I could prove that MS has no money, that the moon is made of green cheese, and that Iraq has weapons of mass destruction. (Hmm, come to think of it, maybe this guy works for the White House.)

    Remember kids, if you can imagine it, it must be true!

    *sigh*
  • by butane_bob2003 (632007) on Tuesday April 13, 2004 @05:29PM (#8853947) Homepage
    One of the biggest problems the average user has with most open source software is that he can't figure out how to install or configure it. The open source java app I have been working on for 2 years has gone through a few different installers, none of which were very good. Even the ones that required licence fees that we tried out were crappy. Many open source projects require the user to compile and link the source code, sometimes even making users edit source code for configuration changes. This is either laziness or lack of resources on the developer's part, neither of which looks good from a user's perspective. Software that is distributed a binaries with install/run scripts are better, as long as you can provide scripts for each platform.

    As developers, generally the first thing we do after downloading some new open source software is read the README file. Then maybe the GOTCHAS.. Most users won't or can't pay attention long enough to read the instructions in a wizard based installer, much less a 50+ README. Programmers tend to be fast readers in my experience, many other people are not. So, if you can, include a one click installer and make the program configurable at runtime through a nice, easy to understand GUI.
  • by janbjurstrom (652025) <inoneearNO@SPAMgmail.com> on Tuesday April 13, 2004 @06:01PM (#8854406)

    From the abstract, emphasis mine:

    This paper discusses five
    fundamental problems with the current Open Source software development trend, explores why these issues are holding the movement back, and offers solutions that might help overcome these problems.

    Seems they are only "fundamental problems", if everybody accepts the premise that the highest goal is to become the premier choice of "the general public." I personally don't agree with this agenda at all. In no particular order: Innovation? Quality? Free-as-in-possible-to-use/distribute/complete-acc ess-to-understand/modify/contribute-back-to-the-co mmunity? Etc.

    In any case, briefly looking at the list of these "fundamental problems":

    1. The lack of focus on user interface design causes users to prefer proprietary software's more intuitive interface.
    Do you agree? Is there consensus on this? Is that really a fundamental problem? I'm on fluxbox [sourceforge.net] when I can choose, but are KDE/GNOME/et al. so divergent and/or different from Windows or OSX?

    2. Open Source software tends to lack the complete and accessible documentation that retains users.
    Huh? As opposed to what, having the same amount of documentation of e.g. the Windows APIs as Microsoft's own coders (who are the competition - Office apps, media players, browsers, etc.)? Oh, wait - it's talking about user docs. Ok, but isn't that always a problem, everywhere? The article offers "Documentation should always cater to the lowest common denominator." The best doc you read was a dumbed-down so anyone could understand it? I'm unconvinced.

    3. Developers focus on features in their software, rather than ensuring that they have a solid core.
    Feature-creep is hardly more prevalent in open source?!? "Shipping the prototype" is such a standard practice in the closed-source corporate world it's not even funny. Additionally, the article writes about the small 'core' tools doing few things well - I thought that was a fundamental design principle in *n*x.. and subsequently GNU/Linux, BSD, etc.? E.g. mplayer doesn't contain any of the bloat found in MediaPlayer or RealPlayer (been a while since I saw them though, they might've become better..?).

    4. Open Source programmers also tend to program with themselves as an intended audience, rather than the general public.
    I don't understand this at all, what is the problem? When did Joe User become more important than making the software do what you want? And making it free, Joe User can use it to his heart's content - within the terms of the licence under which you release it. Why is creating software to solve your problem a flaw? If your motto is "General public acceptance or death", it seems to become one..

    5. Lastly, there is a widely known stubbornness by Open Source programmers in refusing to learn from what lessons proprietary software has to offer.
    One problem might be lack of source ;)? But seriously, is it so? Stubborness in hating/flaming Microsoft, etc., perhaps, but surely not using ideas from them (the GUI, Mono, and so on)? If anything, I'd like to see even more divergence from "industry standard 'best practices'".

  • Sounds more like (Score:3, Interesting)

    by xenocide2 (231786) on Tuesday April 13, 2004 @06:04PM (#8854430) Homepage
    "You get what you pay for."

    With very few exceptions any software publicly available for free is likely to suffer from the exact same problems, Open Source or not. I don't think this is an issue specific to Free Software, but rather software as a hobby. It just happens that there's a lot of Free Software being released as a hobbyist effort.
  • by shaitand (626655) * on Tuesday April 13, 2004 @06:55PM (#8855012) Journal
    text based config vs gui/app based config

    Why is this is a debate or an issue? Why do most projects still get this wrong? Having configuration stored in a text file is absolutely the way to go, this has tons of benefits, probably the biggest and least mentioned is that the configuration can be passed around or backed up. So although you spend 3hrs configuring server x and services, you then backup the conf files to a floppy and pop them back in place the next time.

    Text config is also the most flexible way to go, you always have the most power and control (or potential for it anyway) with text config. That's great, it covers half the battle.

    What does that have to do with the absolutely neccesity to have a configuration program? At the cli I should have two options, the text file direct or ncurses configuration app which offers 99% of the functionality available to me by editing the file directly and does so in an intuitive manner. At the gui I also have two options, the gui based configuration app which works like the ncurses one and editing the file directly. Alot of projects come close (although usually they offer one or the other) but they make said app a one time shot, rather than say, letting me configure, and then *gasp* later modify rather than completely start over my existing config or manual modifications.... and this is produced by the same people who already wrote code to parse the config file and read in the values!

    The other issue here is conformity, despite configuring dozens of apps via text file every day about once a week I encounter a new style/format of config file. We need to come up with a standard for this. We also need to work on defaults, I've yet to encounter a project with even vaguely reasonable defaults... defining reasonable as the most commonly used values. As an example, neither postfix nor sendmail actually come "out of the box" configured for the most common mail setup, to use the already set host value, and relay for the most commonly used private subnets (namely 192.168.1.0 and 192.168.0.0) and use mbox files. Other configurations are exceptions rather than the rule and 90% of those exceptions would require no more than a change to who to relay for so why don't these programs come with this default config out of the box?

    Installer, binary, source, wizard...

    I don't see a real question here either, the answer is all of the above again. The source code of course should be available but is hardly the format of consumption for end users. The binary should be available (at least an rpm that doesn't have dependencies or has them packaged with it) and an installer wizard which helps you arrive at your initial configuration, put things where they should go and install any dependencies which the program needs with just a few clicks or key punches (after all there should be an ncurses version of the installer as well). Nvidia has a good concept with downloading the source if the binary doesn't match the system which the app is being installed on.

    Someday someone will figure out that there really aren't many distro's that make use of /usr/local so perhaps that shouldn't be the default, or worse ONLY place the installer looks if the app in question is a plugin or some such.

    Documentation

    There should be some! Most I've seen doesn't cover the whole spectrum, either it's for idiots, or it's for programmers or the worst, it's outdated and inaccurate and/or wasn't even vaguely accurate when it was current. For an example, look to grub documentation on installing the bootloader from the native command prompt, you'll find two different general sets of commands to use, the most common method found on a google does not work on any version of grub I've EVER encountered but is faithfully repeated, the commands listed outright wrong.

    Generally a basic, and advanced USER guide which don't reference source code or compiling at all. And then a seperate set of programmers documentation kept as curre
  • by mamba-mamba (445365) on Tuesday April 13, 2004 @10:31PM (#8856713)

    From the article:

    Despite the growing success of the Open Source movement, most of the general public continues to feel that Open Source software is inaccessible to them. This paper discusses five fundamental problems with the current Open Source software development trend, explores why these issues are holding the movement back,[emphasis added] and offers solutions that might help overcome these problems.

    The systemic, fundamental flaw with her analysis is that there is no united "open source" goal from which to be held back!

    The assumption that all free and open source developers share the principal goal of supplanting or competing directly with more traditional software is just wrong.

    For some projects, it may be true, but clearly not for others. Do the authors of ghostview want to supplant acrobat reader? I don't think so. Do the authors of the Gimp want to compete directly with photoshop? Perhaps.

    Do Star Office and Open Office developers want to erode Microsoft's share of the office-suite world? You bet.

    Do the mingw people want to compete with visual C++ (or whatever Microsoft's latest c++ compiler is called)? I don't think so.

    In general, do you think GNU people want to compete with anybody? I don't. I think they just want to be free to create the kind of software they like.

    It seems to me that there are a huge variety of goals out there, and in many cases, competing with commercial software is not one of them. In other cases it is. But in my opinion only newbies and idealists believe that free software should try to or will eventually take over the world and put closed software out of business.

    What free sofware does is put pressure on commercial software. For example, I'm sure one of the reasons that Microsoft fixed the TCP/IP stack in its newer OS's is because the Linux and BSD stacks are so good. (In fact, I've heard people say that Microsoft just lifted the stack from some BSD variant. I don't know if that is true.) Microsoft also took a lot of heat for stability, once again due to the stability of various Unix-like OS's running on the same hardware. This has forced Microsoft to improve. Finally, now, Microsoft is taking tons of heat on security. We'll see how they react. (In my opinion, this already makes Linux and the BSD's a complete success. They forced Microsoft to compete!)

    And of course, Linux is sort of like the blob. Microsoft tries to fight it off on some narrow front, but it just expands around that area and pushes in somewhere else. Whether it's servers, PDA's, the embedded market, or 64-bit systems, or gaming consoles, Linux is there, making life difficult for Microsoft, not out of malice, but just because it is what it is.

    Anyway, just my $0.02.

    MM
    --

Life would be so much easier if we could just look at the source code. -- Dave Olson

Working...