Is free software really capable of serving end users or not? This issue has political consequences, which is part of what makes it important: either free software is "minor league" or it's "major league". Which we believe has a big impact on what our expectations can be and what our political and ethical stance towards proprietary and free software should be.
If it's "minor league", then we get to use the excuse that "Hey, we're volunteers, you can't expect us to compete with the big-money teams!" and not being usable by end-users is just par for the course. Therefore, we should stop trying to market GNU/Linux as a viable alternative to proprietary operating systems for end users. For the consumer market, Microsoft wins, we lose. End of story.
If it's "major league", then we get to thumb our noses at Microsoft, but at the same time, we have to be willing to be judged by the same end user standards as any proprietary system. In other words, "unreasonable" end user expectations are just par for the course.
We can't be both at the same time. Certainly, we can't try to excuse all flaws with the "poor little unpaid us" excuse while simultaneously beating war drums over proprietary software.
Historically free software has always faced issues of limited time available from qualified developers. But instead of solving them by throwing money at them (which is the essence of the proprietary approach), we've found ways to increase efficiency, simplify the process, and coordinate the chaos of developer contributions.
Debian's current packaging and quality-assurance system is already an amazing example of the control of complexity that that requires.
I agree that problems are inevitable. I agree that developers are overworked and don't have enough time. I agree that users should (be willing and able to) contribute more. I agree that poor communications are often at the heart of the problem.
What I hope is that there is a way to make a system that responds better to end user needs -- probably by increasing the ways that end user values can be communicated. I think there are already people (both paid and unpaid) who would be willing to fix problems that cause end user difficulties. But I think they don't necessarily know what to fix, and often wind up fixing the wrong things (or fixing them wrongly).
From politics to ethics
The Free Software Foundation likes to talk about free software in "ethical" terms, claiming that users should have a fundamental right to the "four freedoms" in all software (i.e. that proprietary software shouldn't exist).
This is the strong claim for free software. But as an ethical claim, it's predicated on the assumption that free software can fill the niches that proprietary software does (although you wouldn't guess that from most of the rhetoric that has been published).
If it can't, then eliminating proprietary software deprives users of fundamental functionality. You have no freedom in software that doesn't exist. As such, if the software cannot be written as free software (e.g. because the business model is just too thin and no one wants to volunteer), then losing the proprietary alternative represents a net loss of end user freedom.
Because of this, the Free Software Foundations dismissal of the "merely technical" issue of community process producing higher quality software (usually presented as the "Open Source" perspective), is not consistent with its stated goals. You can't have an ethical discussion about free software and its impact on society unless you face the fundamental issues of production.
It is no more ethical to promote a system of free software when doing so will result in no software being written than it would be to promote a free produce initiative when doing so would mean no crops get planted.
The concerns of producers become the concerns of consumers when production stops (or even when it merely slows). Thus, if not being able to charge per-copy prices for software means not being able to write software (as proprietary software advocates claim), then it isn't ethical to fight proprietary software (as the Free Software Foundation has been doing for years).
This would be a bit like calling for a federal ban on "non-organic produce" when you know that you can't possibly produce enough "organic produce" to feed everyone in the nation. A policy which starves the majority in the name of some idealistic notion of the "best way" to grow crops would clearly be unethical.
Likewise, a policy of promoting free software and opposing proprietary software no matter what the production consequences are is unethical. Pragmatics matter. The ability to produce the work matters. In other words, the so-called "Open Source" platform of software quality is essential to the goal of the "Free Software" movement. They are not separable goals.
Free software advocates, if they want to be socially relevant, if they want to get beyond being merely a niche "counter-culture" phenomenon, need to embrace the fundamental design problems involved in producing a competitive alternative.
This is why I have always maintained that drawing a political line between so-called "open source advocates" and so-called "free software advocates" is specious. You can't have "open source software" (in the sense that open source advocates mean the words) without also having "free software" (in the sense that free software advocates mean the words). Both are merely contractions of "free-licensed open source software". The definitions promoted by both groups (the "Open Source Definition" and the "Free Software Definition") include both legal freedom to modify and share the code and the pragmatic access to it.
Richard Stallman wrote in his "Four Freedoms":
"The freedom to study how the program works, and change it to make it do what you wish (freedom 1). Access to the source code is a precondition for this."
Likewise, Bruce Perens begins the Open Source Definition with:
"Open source doesn't just mean access to the source code. The distribution terms of open-source software must comply with the following criteria".
Does it matter whether you say that "freedom to modify" entails "ability to modify" or the reverse? Not nearly as much as knowing that they are irrevocably interlocked!
"Free Software" and "Open Source Software" is the exact same artifact, no matter who is promoting it, nor on what advantages of it they promote.
In few other areas of politics will you find people passing judgment on the internal psychological states that lead to their platforms -- it's enough that you find allies that support your goals!
The pragmatics of missionary enterprise
That's part of being a "major league" phenomenon: the real world is a big place with lots of different people who think in lots of different ways. Trying to convert them all to your own way of thinking is probably a lost cause.
This is why the "open source" approach was conceived. Instead of talking about ideology, it simply looks at the objective, verifiable facts. You can collect data about how well "open source" software works economically: how easy it is to develop, how much it saves you in your daily business, how much it promotes further innovation, and so on.
These things are much harder to refute than abstract ideological ideas which may sound fine on the surface, but usually turn out to be predicated on assumptions you didn't even realize you were making. And when somebody from a very different world view challenges those assumptions, what are you going to do? Most such advocates just get angry and attack such challenges as somehow "unfair", interpreting them as an attack of some kind.
Objective arguments probably aren't as satisfying on some spiritual level. But it is really amazing the degree to which people will bend their spiritual beliefs when doing so relates directly to their livelihood and well-being. Is that cynical of me to say? I don't think so -- people know instinctively that even the most abstract idea has to work in the real world, not just sound pretty, in order to be valuable.
In this sense, the "open source" argument is every bit as "ethically" motivated as the free software one. For people who are inclined to identify with producers, the practicality of production is an unavoidable concern. They easily understand that if you can't afford to make a thing, then it's not going to matter how free you are to use it.
Are we up for it?
So that's the question we still have to answer: are we up for it? Can we really make a free software system that is every bit as usable as the proprietary alternatives? Can we make them work for non-expert end-users the way that proprietary companies like Microsoft can?
There's no room for excuses. Let me debunk one right here, though I know this one is going to hurt:
Microsoft's strangle-hold on the computer hardware production market is actually a benefit to users! Since they use their massive economic power to control the marketplace, they create an enormous incentive for manufacturers to ensure their equipment works with Microsoft software. As a result, nearly every consumer device you pick up at the local discount store will work in Windows. You will have to be a lot pickier with GNU/Linux. Unfair? Monopolistic? Absolutely! But it's still true, and we pay this cost when we opt for free software.
That's tough to beat. We need an answer for it. On this uneven playing field. Do we whine and cry foul? Do we try to find a way to bend things our way? Or maybe we accept the loss, acknowledge that we lack this advantage and then try to explain why it's worth making that sacrifice.
There are a lot of tough questions in this direction. But being truly competitive means facing them, not avoiding them. We can't pull the wool over the eyes of the marketplace (another unfair advantage Microsoft has over us). Our specialty has to lie in lifting the veil and showing how things can work, and in making systems of software production and refinement that proprietary competitors can't match.