[Python-Dev] "Unstable" is an ambiguous word...

Alex Martelli aleax@aleax.it
Mon, 8 Apr 2002 21:10:57 +0200

On Monday 08 April 2002 19:55, Guido van Rossum wrote:
> > On the other hand, software dev't managers don't like the choice
> > between an "old, obsolete, probably not of interest any more" piece
> > of software, and one that's "so brand-new it's still churning AND
> > may break your existing correct code".
> But that's still the choice they get, albeit phrased differently.

If that's indeed all the choice they get, then phrasing, aka spin, is
only going to help a little, and transiently.  If the stable release is
to be successfully marketed as "stable but actively maintained"
then the part after the "but" needs to have some truth to it.
However, I think that a clear message in this regard may half-
magically help make itself true -- to wit:

> > afford a better chance.  The "stable" track would focus on not
> > breaking existing correct programs; the "experimental" track would
> > focus on enhancements with more freedom (including freedom to
> > take some language-design risks).
> I'm not sure the stable track would differ in practice from what we're
> already doing with 2.1.3 and 2.2.1.

I think the clear separation would help.  Consider a book author: what
release is he or she going to focus on?  He or she clearly wants to
target the release that is CURRENT when the book comes out -- but
need not target a release that is tagged as EXPERIMENTAL, unless
perhaps in an advanced book.  That is how the book market works:
there's much less demand for a book about a release of software that
is not current any more -- or about a release that is experimental.

Thus the clear message "this is current, stable, actively maintained",
even by itself, is going to attract some more volunteer active
maintenance -- not quite a self-fulfilling prophecy, but... it does not
need to follow that the experimental release gets less -- if the pie
grows, both slices may get larger.  Besides, "experimental" has its
own allure -- you could call it "leading-edge" internally:-).

> I don't know that 1.5.2's stability attracted people.  It was probably
> more its feature-fullness, plus the fact that around the same time
> lots of books etc. started to appear.

_I_ was attracted by a perception of 1.5.2's stability -- I'm rather
a late-comer, remember.  I thought a stable language gave me
better chances to convince what was then my management -- and
like many others I did not understand Python was so much stabler
than (e.g. Perl), not for a deliberate decision, but by happenstance.

I've heard others make very similar remarks in various personal
conversations -- that the perceived stability was part of the appeal.
(Some told me exactly the reverse, or rather explained why they
chose, say, Ruby -- perceived as more active and therefore easier
to make a mark in; I _suspect_ that if an experimental track had
existed, Python would have looked more attractive to them without
thereby losing attractiveness to the first crowd).