J
James Kanze
[/QUOTE]Nonsense. Free software has a much higher rate of adoption
of best practices for high quality than for-pay software
does.
You say so, too. It's the "logically" with which I take
issue. That free software uses the best techniques and has
the highest quality in the marketplace is entirely logical,
in addition to being an observed fact. You just have to
avoid false assumptions and fallacies in reasoning.
Not sure what you mean. There are no such logical binary
connection. Opposite is as easy to observe.
Just download few C++ code-bases at random from places like
sourceforge.net and review them.
I'm not sure that that's significant. It's less expensive to
publish free software, so you get a lot of idiots doing it. But
these are mostly products that no one is interested in. And
there are actually quite a few start-up companies which do
exactly the same thing. The difference is that the start-up
company will go out of business, and disappear, where as the
code on SourceForge just sits there.
If you're talking about successful projects, there are some good
free ones.
One produced by using good techniques is really hard to find
there. Most code there has quality so low that it would be
unthinkable in professional software house to pass QA peer
review with it.
I've had the chance of working mostly in well run shops, but
I've seen places where there was no peer review. Not all
commercial shops are better.
It is easy to logically explain since most of it is hobby of
non-professionals who find software development amusing or
professionals of other language who learn C++ as hobby.
Results are slightly better with larger and more popular open
source products but that is often thanks to huge tester and
developer base and not good techniques used.
At least some of the larger open source projects have a steering
committee, and do practice at least some sort of code review and
regression testing.
In best shape are open source projects that are popular and
where commercial companies are actively participating since
they need these for building or supporting their commercial
products. Again it is easy to see how the companies are
actually enforcing the techniques and quality there and it is
likely that the companies use even higher standards in-house.
Worst what i have seen is the code written by in-house
software department of some smaller non-software companies but
that is again easy to explain by workers of that department
obfuscating their work to gain job security.
So all things have logical explanations and there are no silly
binary connections like free = quality and commercial = lack
of quality.
Quality is largely determined by the development process. Some
of the better processes probably can't be applied to a free
project, at least not easily. But a lot of commercial projects
aren't applying even a minimum, and some of the better freeware
projects have applied some of the easier and more obvious
techniques. In the end, if you want quality, you have to
consider the process used to develop the software, independently
of the costs.