Back in my transition from school to industry, I read
(ugh) some
awful assigned text on Software Engineering. It was awful
because
of being a classic example of Soporific Prose, but it was
worth enduring
for the key insight that a software product is more
than just source code. A software product consists of
the totality of code (source and binary), documentation
(online and printed), test suite, build tools, support
infrastructure, and (dare I say it?) marketing collateral.
And the quality of a software product, as a
product, depends on the quality of all of these
things, not only on having an elegant design and clean, bug-
free code. (Good design and code are necessary but not
sufficient conditions.)

This is where proprietary commercial software vendors
have traditionally had their advantage. It's a very rare
person who has an "itch" regarding test suites and code
coverage metrics, or good user guides, and the time and
ability to scratch it effectively. This is what companies
like The Great
Satan can do so well: afford to hire people to take
care of these "fit and polish" issues. I'm hoping that the
new models of commerical free software will be able to do
the same thing, but it's probably too soon to say that
they've all proved that they can compete long-term against
the proprietary vendors (and this varies in interesting
ways by market segment).

The other thing that raph correctly
notes is that it's hard to find quality free software
implementations in areas that require very specialized
application expertise (such as high-end graphics).
Proprietary vendors have the cash to affort application
specialists and software specialists; free software efforts
seem to rely on finding the rare combination of a double
application/software expert who is also
philosophically a free software fanatic. Not to mention,
having a day job which supports writing software to give
away. Fortunately, such
people do appear from time to time, but the scope of their
work is limited.

I'm not sure how to tackle this problem, other than to
(a) make sure to support worthy free software commercial
enterprises, and (b) work on educating the free software
community about the utmost importance of non-coding
contributions, and making sure that such people get their
share of the credit as well.