From: James Kanze on
On 12 Feb, 22:21, Brian <c...(a)mailvault.com> wrote:
> On Feb 12, 3:36 pm, James Kanze <james.ka...(a)gmail.com> wrote:
> > On Feb 12, 11:42 am, Leif Roar Moldskred

> > <le...(a)huldreheim.homelinux.org> wrote:
> > > In comp.lang.java.programmer Arved Sandstrom <dces...(a)hotmail.com> wrote:
> > > > This is what I am getting at, although we need to have
> > > > Brian's example as a baseline. In this day and age,
> > > > however, I'm not convinced that a person could even give
> > > > away a free car (it wouldn't be free in any case, it
> > > > would still get taxed, and you'd have to transfer title)
> > > > and be completely off the hook, although 99 times out of
> > > > 100 I'd agree with Brian that it's not a likely scenario
> > > > for lawsuits.
> > > Where Brian's example falls down is that the previous
> > > owner of the car is, in effect, just a reseller: he isn't
> > > likely to have manufactured the car or modified it to any
> > > degree. However, let us assume that he _has_ done
> > > modifications to the car such as, say, replacing the fuel
> > > tank. If he messed up the repair and, without realising
> > > it, turned the fuel car into a potential firebomb, he
> > > would be liable for this defect even if he gave the car
> > > away free of charge.

> > He doesn't even have to have done that much. If he knows
> > that the brakes doen't work, and he lets you drive it, he's
> > legally responsible.

> I have no problem with that. Some though believe that if you
> give away a car and aren't aware of a problem with the car,
> that you are still liable. I don't think I'm obligated to
> have a car looked at by a mechanic before giving it away. If
> it is safe to the best of my knowledge, then I should just
> tell whoever wants the car about it's history and encourage
> them to have the car checked out.

Yes. There are two things that could make you liable: deceit or
negligence. If you make claims you know aren't true, it's
deceit. As a private individual giving something away,
negligence (to the point of making you liable) is practically
impossible. As Jerry pointed out, even in the case of a large
company, with expertise in the field, it's very, very difficult.

IMHO, if you don't take well known and provenly effective
preventive measures, you're negligent. But Jerry is a lot
better versed in the legal issues than I am, so I'll take his
word for it that if everyone's doing it, you're off the hook.
And there are certainly enough software firms delivering junk to
count as almost everyone. (Although it probably depends on the
domain. Almost every firm delivering software to NASA is taking
adequate steps; for that matter, most of the telecoms software
I've seen was "correctly" developed as well.)

--
James Kanze
From: Arved Sandstrom on
Jerry Coffin wrote:
> In article <eab51075-377a-4714-ab9d-853df4fcae95
> @b2g2000yqi.googlegroups.com>, electricdelta(a)gmail.com says...
>
> [ ... ]
>
>> Nobody knows how to build earthquake-immune buildings, yet
>> engineers give certain guarantees. When those are failed to be met,
>> (s)he is held liable. Maybe it's about time some "software
>> engineers" were held liable for their unreliable code in the same
>> way.
>
> Unfortunately, I'm afraid you're mostly wrong. If a building falls
> down, grounds for a lawsuit would be that the engineer(s) involved in
> the design were "negligent". In this case, "negligent" is generally
> defined to mean that the care with which they did this particular job
> was substantially less than would be expected of most others in the
> same profession.
>
> To put it somewhat differently, to win such a case, you need to show
> that (in essence) if virtually and of their direct competitors had
> done the job instead, you'd have a reasonable assurance that you
> would have received a result of substantially better quality.
>
> In the case of software, showing such a thing would be next to
> impossible. Software disasters of truly epic proportions are
> commonplace, well known and easy to cite. Offhand, I'd be hard put to
> think of even one "good practice" that's sufficiently widespread that
> I could testify that it was at all surprising when it wasn't
> followed!

All of which is true, and all of which defines the problem. Acquisition
of quality software is hit and miss, and employment or contracting of
quality software developers is hit and miss. Mostly miss in both cases.

Peter Seebach has made a point that why worry about certifications and
warranties and so forth. He states that there exist individuals who
follow best practices - which is true - and that they don't need a
label. Furthermore, he's made a related statement that the widespread
availability of free software is very beneficial (it may or may not be,
IMHO), and that warranties and liability would be detrimental to this
process.

My take on it is, and I've said it before, certifications and warranties
and so forth are about lifting the bar. Without them purchasers and
employers need to spend a great deal more time and money to establish
what and who is quality, and what and who is not (because most of the
products and prospective employees are _not_ quality). Having
certifications/education/professional development/discipline etc which
are associated with a true profession helps provide an assurance that
*any* certified software developer you intend to hire is going to be
somewhat competent. And having guarantees on a program helps provide an
assurance that the program is suitable for a stated purpose.

The issue is that we are all craftsmen, and our "profession" is in a
pre-Industrial Era stage of craftsmanship. Except that we're missing
even a formal classification of craftsmen (apprentices, journeymen,
masters), so employers have to sort through the inflated self-labelling
so common in our field. Arguments are constantly made that software
development is somehow not amenable to being qualified and quantified,
that it's an art (and a craft), that it's impossible to create reliable
software, and so forth. These are precisely the kinds of arguments that
craftsmen made back in the day, and they don't hold any water.

We will eventually lift ourselves, or be lifted, into the status of a
profession. I'd rather do the lifting than be lifted.

AHS
From: Arved Sandstrom on
LR wrote:
> Arved Sandstrom wrote:
>
>> To my way of thinking there are some
>> implied obligations that come into effect as soon as a software program
>> is published, regardless of price. Despite all the "legal" disclaimers
>> to the effect that all the risk is assumed by the user of the free
>> software, the fact is that the author would not make the program
>> available unless he believed that it worked, and unless he believed that
>> it would not cause harm.
>
> Aren't some programs released with known defects?

Absolutely. To me if a program comes with a clear list of known defects,
with description, that's a sign of maturity. Essentially the set of
known defects simply reduces the working functionality of the program -
if you can form an educated opinion about what that working
functionality is then you're OK to make a decision as to whether or not
it's suitable for the desired purpose.

>> This is common sense.
>
> Applied to what is most likely a branch of mathematics or applied to the
> law?

Applied to the law. Don't get me wrong, I'm not saying the law is like
this now. It's not.

>> I don't know if there is a legal principle attached to this concept, but
>> if not I figure one will get identified. Simply put, the act of
>> publishing _is_ a statement of fitness for use by the author, and to
>> attach completely contradictory legal disclaimers to the product is
>> somewhat absurd.
>
> I think this may be part of an ongoing controversy. Here's a taste of
> what's coming.
> http://www.tampaflduilawyer.com/Defenses/DUIBreathTest.aspx (Look for
> "Throughout the State of Florida, DUI defense attorneys are demanding
> that the State of Florida provide the source code") and there's this:
>
> "Reasons Why Production of the Source Code is Necessary"
> "7. # The extent that known and unknown flaws in the program affect the
> accuracy of the test results."
>
> LR

And to my way of thinking, what's wrong with that? Although in this case
it seems like the fault, if any, would lie more with the purchaser.
Since we currently don't have any widespread mechanisms for certifying
and guaranteeing software, it's up to purchasers to exercise due
diligence *when they can*. I think it's unreasonable to expect private
individuals to be able to test software before purchase, but a
government certainly ought to be able to arrange for thorough testing
and inspection before they decide to buy an application.

AHS
From: Lew on
James Kanze wrote:
> Logically, I think that most of the techniques necessary for
> making really high quality software would be difficult to apply
> in the context of a free development. And at least up to a

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.

> point, they actually reduce the cost of development. So
> theoretically, the quality of commercial software should be
> considerably higher than that of free software. Practically,
> when I actually check things out... g++ is one of the better C++
> compilers available, better than Sun CC or VC++, for example.
> Valgrind is at least as good as any of the commercial memory
> checkers under Linux. And Subversion is at least as good as any
> of the version management tools, excepted ClearCase (and the two
> really address different models of development).

ClearCase is an unwieldy pig. You hold that up as an example of high
quality?

Admittedly, it's better than a lot of other version-control products,
but not nearly as good as the free ones.

> There used to be a lot less free stuff available, and it was
> worse. (It doesn't make sense to me, either, but those are the
> facts.)

No, they're not the facts. Since the beginning of free software, much
of it has been very high quality. I doubt very much that the ratios
have changed much, or if they have, perhaps you could substantiate your
"facts".

I don't dispute that there used to be a lot less free software, insofar
as there used to be a lot less software of any description. It's your
undefined use of "worse" without evidence that I dispute.

> I think that part of the problem is that a mistake in a program
> will affect every instance of the program. Most recalls for
> cars, on the other hand, only affect a small subset of the total
> production.

A mistake in a car model enough to effect a recall affects every
instance of that model. Bugs in software, OTOH, affect only a small
subset of the total production of software.

You haven't been paying much attention to the news lately, have you?

--
Lew
From: Seebs on
On 2010-02-13, James Kanze <james.kanze(a)gmail.com> wrote:
> Logically, I think that most of the techniques necessary for
> making really high quality software would be difficult to apply
> in the context of a free development.

They might be hard to apply, but consider that a great deal of free
software is written without idiots saying "you need to get this done sooner
so we can book revenue this quarter to please shareholders". It's also
often written by particularly good developers, who care about their code.

It is also probably an influence that free software writers expect the
code itself to get feedback, not just the behavior of the application. I
have submitted bug reports about poorly-expressed code, not just about
code which didn't work.

> And at least up to a
> point, they actually reduce the cost of development. So
> theoretically, the quality of commercial software should be
> considerably higher than that of free software.

Again, I don't think there's actually any force driving that. The benefits
of well-written software are significant enough that it is likely worth it
to some people to improve software they have access to, and if it's worth it
to them to do that, it costs them virtually nothing to release the
improvements.

Free software often ends up with the best efforts of hundreds of skilled
programmers, with active filtering in place to keep badly-written code from
sneaking in.

> And Subversion is at least as good as any
> of the version management tools, excepted ClearCase (and the two
> really address different models of development).

If you are implying that CC is actually usable to you, that marks a first
in my experience. No one else I've known has ever found it preferable
to any of the open source tools, of which git is probably currently the
most elegant.

> I think that part of the problem is that a mistake in a program
> will affect every instance of the program. Most recalls for
> cars, on the other hand, only affect a small subset of the total
> production.

Another issue is that, if you give away open source software, people can
modify it. If you modify my code, and your modification is not itself
buggy, and my code is not itself buggy, but your modification causes some
part of my code not to work as expected, whose fault is that? This kind
of thing is a lot more complicated with code than it is with physical
objects. You don't have a million people using a bridge, and a couple
hundred thousand of them are using the bridge recompiled for sports cars,
and another couple hundred thousand are running it with a third-party
tollbooth extension.

-s
--
Copyright 2010, all wrongs reversed. Peter Seebach / usenet-nospam(a)seebs.net
http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!