[gnu.misc.discuss] QA is a red herring; warranty protection is important

pcg@emerald.cs.aber.ac.uk (Piercarlo Grandi) (10/25/89)

In article <1989Oct21.204023.22887@odi.com> benson@odi.com
(Benson I. Margulies) writes:

   Have you had gnu make trash an archive lately? Or had gcc silently
   turn your program into a killer because it has an overlarge switch
   statement?

Hey! you read the documentation: GNU sw not only has no
warranties, like most commercial sw (but then you don't have to
pay for it), it is BETA sw for the most part. Many commercial
suppliers will sell you gladly BETA grade sw, only they will not
tell you :-(. This is not the practice of isolated rogues, it is
all too frequent (market pressure they call its cause) not to be
considered typical of the industry. Notwithstanding the all too few
exceptions.

   If so, then you know why QA is the most important part of
   software development. QA is EXPENSIVE. It is particularly hard to do
   well in a decentralized development environment. The people who take
   BSD and turn it into products do what the CSRG isn't funded to do --
   QA.  In return, they get the right to some control over the results.
   Sounds like a good deal to me.

Hahahahahahaha! Good one this! So commercial software suppliers
are doing EXPENSIVE quality assurance... Too bad their customers
don't seem to have noticed it being EFFECTIVE.

It may be a subjective experience, but for one most commercial
suppliers of BSD derived sw don't seem to me to have been very
effective with their QA on it (there are some famous 4.1/4.2 bugs
that have not yet been fixed in many commercial derivatives,
notably in the TCP/IP code); and I would be hard pressed to
describe the largest of them, Sun, as a paragon of QA
effectiveness and sw reliability. And I would not characterize
SunOS, or for that matter, Unix System V, which enjoy the
attention of large QA efforts, to be substanstially more reliable
than 4.3BSD or Mach.  I would not, let me add, say that Microsoft
C looks more reliable than GCC, as another example. And how much
time did it take the wonderfully expensive QA departments at many
to correct the famous inode bug, for which free patches have been

The idea that QA can inject quality in sw is entirely ludicrous
and has been laughed about for long (cfr Dijkstra, for one). To
call QA the most important part of sw development is to throw in
the dustbin several decades of research in sw engineering; if QA
were the phase where bad quality sw were thrown away, instead of
being patched up for delivery to the suckers, I would agree with
you...

It is an old truth that QA can only certify the lack of quality
(cfr Brooks, for another). The *only* way to have quality sw is
to have quality programmers, and I do not see commercial sw
vendors having any better quality programmers than the FSF or
Universities etc...

Among many I do have a strong strong suspicion that most vendors
do not distribute the source to their sw simply not to scare the
customers with the obvious poor quality of the thing; there are
commendable exceptions, but I have seen too much *crap* from sw
vendors (also from free sw sources, but usually not from the FSF)
not to have a very cynical attitude.

In the end, one may or may not disagree with the idea that QA
gives commercial sw an edge over free sw, value added that is
"protected" by not giving the customer the sources; but if you
think that commercial sw QA does add value,

	why ever sw vendors don't give substantive warranties?

What is the value of QA to a customer of a commercial vendor if
free software and commercial software BOTH come without any
warranty? What is this QA worth if the vendor itself does not
trust it?

To add insult to injury, much commercial (and some free...) sw
comes with reverse warranties, that is the customer warrants to
indemnify the supplier against claims by third parties.

By constrast, the GPL explicitly says that you can charge for
providing warranty protection to users of free software. In my
opinion this is much more honest, in a substantial sense, than
the behaviour of companies that sell software about which they
are not prepared to make any representations as to quality,
performance or fitness for purpose (even after QA), and don't
supply sources, so you cannot even protect yourself, or hire
somebody to do it.

IMNHO the GPL is well designed, does a good job to keep out the
free riders, and does provide the opportunity, via fees for
warranty service, to give a honest return to sw developers.
Notice that they can only do it by unbundling warranty provision,
and giving away the unwarranted sw itself for free, but to me
this seems entirely appropriate.
--
Piercarlo "Peter" Grandi           | ARPA: pcg%cs.aber.ac.uk@nsfnet-relay.ac.uk
Dept of CS, UCW Aberystwyth        | UUCP: ...!mcvax!ukc!aber-cs!pcg
Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@cs.aber.ac.uk