From: Lew on
Lew wrote:
>> There should be a much wider gap between the pay scale of the good
>> developer and that of the putz or newbie. Something akin to the gap
>> between top actors and those who have to wait tables, or top pro
>> athletes and those in the minor leagues.

Joe Wright wrote:
> Linus Torvalds writes free software. He is handsomely compensated. I
> understand that Richard Stallman is not destitute either. Hmmm.

How handsomely? How far from destitute?

How does their compensation compare to, say, Drew Brees's? Or Sean Payton's?

What is the ratio between their compensation and that of someone starting out
as a developer? How does it compare to the ratio between Peyton Manning's (of
the Indianopolis Colts) compensation and Brenan Jackson's (of the Pittsburgh
Colts)?

I am espousing pay gaps akin to those of actors or pro athletes.

--
Lew
From: Lew on
Lew wrote:
>>> There should be a much wider gap between the pay scale of the good
>>> developer and that of the putz or newbie. Something akin to the gap
>>> between top actors and those who have to wait tables, or top pro
>>> athletes and those in the minor leagues.

Joe Wright wrote:
>> Linus Torvalds writes free software. He is handsomely compensated. I
>> understand that Richard Stallman is not destitute either. Hmmm.

The fact that they write free software is immaterial to my point.

--
Lew
From: Öö Tiib on
On Feb 13, 5:09 pm, Lew <l...(a)lewscanon.com> wrote:
> 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.

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. 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. 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.

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.
From: Malcolm McLean on
On Feb 13, 4:59 pm, Arved Sandstrom <dces...(a)hotmail.com> wrote:
> Most software programs I have to work
> with do not have show stopper bugs, and realistically do not need to be
> "recalled".
>
I'm using Matlab at the moment. It seems to crash about once every two
days. A bug in a C subroutine will also take down the whole system.
That's irritating but liveable with. However what if the results of my
scientifc programs have small errors in them? No one will die, but
false information may get into the scientific literature. If I was
using it for engineering calculations, someone might die. However the
chance of a bug in my bespoke Matlab code is probably orders or
magnitude greater than a bug in matlab's routines themselves. So does
it really matter?
From: James Kanze on
On Feb 13, 3:09 pm, Lew <l...(a)lewscanon.com> wrote:
> 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.

Really. I've not seen any free software which adopted all of
the best practices. In my experience, some of the best
practices require physical presense, with all of the developers
having offices in the same building. (The experiments I've seen
replacing this with email and chat haven't turned out all that
well.) This is far more difficult for a free project to achieve
than for a commercial one.

> You say so, too.

What I said is that apparently, many commercial shops don't take
advantage of their advantages. For example, one of the key
factors in developing high quality software is communication.
And communication is, or should be, easier when everyone works
in the same plant. Never the less, one continually hears
stories about lack of communication in such cases; about
internal competition even leading to misinformation. The
potential in a commercial organization is higher, but it's clear
that many such organizations aren't using it (and that a few
free projects are using everything they can).

> 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.

First, free software doesn't have the highest quality. When
quality is really, really important (in critical systems), you
won't see any free software. I'm certain that no free software
project is certified at SEI level 5, and from what I've seen,
very few reach SEI level 2. Some commercial organizations (one
or two) are certified at SEI level 5, and I've worked for some
that were around level 3. Most of the ones selling the software
we usually use (e.g. Microsoft, Sun, etc.) are still at level 1,
however.

> > 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?

ClearCase uses a different model than any of the other version
management tools I've used. In particular, the model is
designed for large projects in a well run shop---if your
organization isn't up to par, or if your projects are basically
small (just a couple of people, say up to five), ClearCase is
overkill, and probably not appropriate. If you're managing a
project with five or six teams of four or five people each, each
one working on different (but dependent) parts of the project,
and you're managing things correctly, the ClearCase model beats
the others hands down.

My statement wasn't really clear, however: it's the ClearCase
model which makes it the best choice in such cases, not the
quality of the software. I've no reason to belive that
ClearCase is developed using a better methodology than anything
else.

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

As one of the free ones, in terms of quality, perhaps. The
model is different, so it's very difficult to compare. In cases
where the ClearCase model is preferrable, ClearCase is stable
enough that you're better off using it than something supporting
a different model.

> > 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".

Did you actually try using any free software back in the early
1990's? Neither Linux nor g++ were even usable, and emacs (by
far the highest quality free software), it was touch and go, and
depended on the version. Back then, the free software community
was very much a lot of hackers, doing whatever they felt like,
with no control. Whereas all of the successful free software
projects today have some sort of central management, ensuring
certain minimum standards.

> 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 was there. For the most part, free software was a joke.

> > 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.

I'll admit that that paragraph is just speculation on my part.
And it's speculation with regards to the motivation for not
providing guarantees: the real issues are far more complex.

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

The percentage of Toyota's production which is affected is
considerably smaller than what would happen if Microsoft were
required to recall Windows.

On the other hand, of course, software allows user installable
patches (what Microsoft does when there is a critical bug),
where as with a car, you generally have to bring it into the
shop, at much greater cost to the manufacturer (and to you).

--
James Kanze