Subject: Re: Open letter to those who believe in a right to free software
From: Bernard Lang <Bernard.Lang@inria.fr>
Date: Tue, 26 Oct 1999 00:38:09 +0200

On Tue, Oct 26, 1999 at 12:22:46AM +0900, Stephen J. Turnbull wrote:
>     Ben> Additionally free software allows the distribution of those
>     Ben> costs through a much wider audience than would otherwise be
>     Ben> the case.
> 
> This is interesting.  How do those costs get distributed?  I am taking
> it that you mean more people actually pony up.  If you mean that
> developers kick in patches for free, see Steve McConnell's editorial
> in a recent (July, August) IEEE Software or something like that.  In a
> nutshell, this runs out of steam real fast as the amount of free
> software to be worked on grows faster than the number of programmers
> who aren't already kicking in all their free time patching free
> software are newly exposed to its joys.
> 
> That works for a while, but not after free software hits the majority
> of the market.  Then you need a silver bullet to get more resources.
> What is it?
> 

At the risk of repeating myself ... how do you explain the development
of mathematics ? How is it funded. The reason you accept the
development model of mathematics is because it is harder to make it
proprietary ... and there is no other reason, because there is
essentially no difference.

  As for your economic analyses of who bears the costs and whether
there is a benefit, their weaker point is that there are
micro-economic analyses, while what is needed is a systemic (global)
analysis. Prisonner's dilemma in some form.

Global optimisation is not the sum of local ones.

> Under the (somewhat unrealistic) assumption that free software doesn't
> result in development efficiencies, these methods will result in
> underfunding of software development unless the entire relevant user
> community is induced to join.

One has every reason to believe that proprietary developement is a lot
more inefficient ... reuse is forbidden between competing product. So
work is duplicated without benefit to the end user ... quite the
opposite, since it can also be poorly duplicated in some companies
(and poor duplication may even become a requirement with software
patenting).
  A major factor of quality in open-source is competing development at
every level of granularity, which is impossible in proprietary
development. So the components are the best possible at each elevel of
granularity. For example, each distribution of Linux can take a
successful component from another.

> I say "somewhat unrealistic" because reuse of software components is a
> hard management problem.  The theory for free software is obvious:
> some extra reuse[1] will be generated by the very fact the source is
> open to random developers, but I see no evidence that in practice free
> software will result in the desirable levels of resources being
> devoted to reuse.  It seems more likely that most people will hang
> out, waiting for the libraries to magically appear, and when they
> really really need it, they'll either buy or build the minimum they
> need, and not put huge amounts of resources into further reusability
> not of direct benefit to themselves and their customers.

1- current state of libraries disproves you

  as for their rate of development ... it does satisfy me ... it even
impresses me. I consider that the design of a library is one of the
hardest programming tasks, and I consider that 20 years to achieve a
reasonably stable and satisfactory state is not excessive, and even
short. The problem of reuse in industry stems from several issues (in
my opinion)
  - too many companies do not understand how software should be
written in order to be reused. (this largely explains the success
of C++)
  - and they do not acknowledge enough the difficulty of designing
reusable components (and are much constrained by economic issues
and deadlines)
  - only open development can gather enough variety of experience
and expertise to design libraries effectively.

2- this reuse problem exists also in math ... and seems to be quite
reasonably dealt with. And mathematicians take from 20 to 50 years (or
more) to stabilize a library (they call it a theory). And I believe no
amount of money or other support could shorten that time.

But finally you made the point yourself (in a later post) as to who
reuses better:
> I guess the point is that in proprietary software calling something
> "derivative" is an insult, but in free software, it's a high
> compliment.


>   Everything that free software development can
> do, proprietary development can _physically_ do.  Free software has
> the following advantages:
> 
>     o ... irrelevant
>     o ... irrelevant
>     o no lawyers (especially if you use an unrestrictive license)
   if only ...
>     o modularization is not merely the textbook strategy, it's a
>       matter of survival in the bazaar development model
> 
> Those are all marginal, though.  A possibly non-marginal advantage is
> the idea that you can't hire enough genius to get all the good ideas:

modularization is far from marginal ... neither is promoting/enforcing
standards. Multi-granularity competition is another. Effective
debugging (and I am sticking to what concerns development). But maybe
you should also go bak to ES Raymond, who can also quote rather
effectively the writings of Fred Brooks.


>     Kragen> Perhaps we can come up with a
>     Kragen> military-industrial-university system for software as we
>     Kragen> have for science.
> 
> Heaven forbid, on efficiency grounds

and how do you propose to prove that ?
  When I see the billions that some call their rightly earned profit,
and which do come from the taxpayer pocket (even if not as official
taxes), I am wondering whether any other system can be that
inefficient and wasteful in producing software.
  ... or was it to be taken as an ideological statement ?

> We need to talk about a process that doesn't depend on a few
> superstars.  We need to talk about a process that potentially scales
> to 50% or more of the market.  Eventually we need to talk about a
> process that produces Windows NT, except on schedule and bug-free.

Sorry, but you just hit a common industrial misconception. Basically
some people believe that with 9 women, they can produce a baby in 1
month. But it does not seem to succeed too well.  I mean that
intelligence cannot be split. Good programming requires high
intelligence, and no matter how large a team of mediocre programmers
you put together, they will never amount to a single smart one.


-- 
Bernard.Lang@inria.fr             ,_  /\o    \o/    Tel  +33 1 3963 5644
http://pauillac.inria.fr/~lang/  ^^^^^^^^^^^^^^^^^  Fax  +33 1 3963 5469
            INRIA / B.P. 105 / 78153 Le Chesnay CEDEX / France
         Je n'exprime que mon opinion - I express only my opinion
                 CAGED BEHIND WINDOWS or FREE WITH THE HURD