Boost logo

Boost :

From: Robert Ramey (ramey_at_[hidden])
Date: 2008-08-26 13:38:44


Christian Larsen wrote:
> Robert Ramey skrev:

>> Make 1.36 is just a tag ("copy" in SVN parlance) on this branch.
>>
>> So all I have to do is have ONE branch on my machine: "Release Ready"
>> and I'm automatically upto date with all the latest - TESTED -
>> changes which have been merged into ReleaseReady.
>
> Yes, that's right. But still I don't see how that would make it
> possible to keep a stable interface, and make point releases of that.
> Unless
> all developers agree to only merge non-interface breaking changes into
> "ReleaseReady".

You're correct that this depends upon developers not merging
interface breaking changes into "ReleaseReady"

We recently had a discussion about just this topic. I expressed
the position that such interface breaking changes should be
considered bugs. I also pledged to personally consider
such changes in the serialization library as bugs and treat them
as such. Much to my amazement, the idea that all boost
developers should adhere to such a position was considered
by some to be a bad idea. To me it is the bedrock of serious,
quality software. If everyone adhered to this, we would have
a lot fewer problems.

> Many users would appreciate bugfix-only releases,
> because they may not be able to/have the time or money/whatever reason
> to update to a new interface that often.

When I find that a library author changes the interface - and I have to go
back
to change my code, the whole justification for using the library in the
first place
goes out the window. I either save the original copy of the library, or use
another library with a stable interface. I don't have time to chase after
everyone elses vision of perfection.

> Anyway, I'm in no position to change anything; I just wanted to share
> my point of view

LOL - well that's all I do.

> on how things could be done resulting in what many
> people would like: point releases with a stable interface and
> bugfixes, at little cost for developers and release managers.

I would make a distinction between an interface change
and a bug fix which just changes the implemention. The former
should never occur. And if it does it shouldn't be in a point
release or hot fix. Its a major change which should result
in updated docs, release notes, tests, etc. Only the later
is appropriate for point release, hot fix or whatever.

>
> I'll rest my case.

LOL - me too - until its brought up again!

Robert Ramey


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk