I am most and foremost a practical person. If something doesn’t have a practical application in life, I ignore it or even avoid it. Over the years I have being many times in dispute with open source guys about software usability.
Each and every time they tell me: “our goal is to offer Free Software, not necessarily something more usable than OSX or Windows — although we try“. My problem with this kind of response is that it doesn’t make sense because the one does not negate the other. Instead of telling me that “our [free] software is not as usable because no one works seriously on it in our free time“, they are effectively telling me that “we don’t like to eat bananas because they are yellow…”
I will have to say something I have said many times: writing good software takes a lot, lots of time of careful design, communication between related projects, documentation, planning and execution and eventually testing. No part of this process takes place on community-based projects (Red Hat and Novell are doing better in this regard, but not great).
At the end, the user has to ask himself: is usability and doing your job more important for you, or using Free Software is (even if it doesn’t always work?). Judging from the current operating system market share, it seems that 98% of the computer desktop users care about software that actually works. Humans are practical beings most of the time and they invented computers so they can solve problems rather than “scratch an itch”. Free Software on the desktop will always be obscure and a niche as long as the project managers don’t adopt real-company policies on how to design and develop and test software.
While for the volunteers won’t be as “fun” anymore to develop for a community project (it would feel like a second job), the end user will be the real winner. Every community project must make it clear within its ranks if their FIRST goal is to have fun or to create something that works and be useful. I don’t mind either way (developers must have some fun too), I just would like this distinction to be clear for each project, especially for projects like Gnome, Gimp or Debian. And if they decide to create something useful instead of f*ck around, then they must adopt software development company policies and heriarchy. Currently, their policies are very loose, or non-existant. Who is the Product Manager of Gnome for example?