Boost logo

Boost :

Subject: Re: [boost] [Booster] Or boost is useless for library developers
From: Artyom (artyomtnk_at_[hidden])
Date: 2010-05-16 03:28:27

> But why not make a boost trunk clone on and
> start a
> boost stable branch yourself? It would probably need some
> documented
> update policy (like: sync down from trunk every maybe 2 or
> 5 years,
> and in between only ABI-neutral changes are imported and
> bugs fixed)
> so users will know they will not be caught in a fork, but
> have a
> defined schedule on when to expect new features from
> mainline boost
> coming in. But then I could imagine interesting
> contributors or at
> least people providing feedback coming along themselves.

There is three major issues with this approach:

1. It is fine as long as I use one working version of boost and it
   has no bugs.

   Because once I need bug fixes, it would be non-trivial to fix them
   in the state boost today is.

   Without correct code preparation it maybe impossible to fix bugs
   without breaking ABI. So it is no-go solution.

2. Some boost ABI code may be affected by defines. For example if user
   defines debug smart pointer option just to see how it works in its
   own code it may crash the application because library sees somethig

3. Boost is configured mostly with defines. So upgrade of compiler
   version for gcc-4.3 to gcc-4.4 may break ABI just because
   some new feature comes and something is changed in class layout.

So this not simple thing to do.

Example: In Boost I changed shared_ptr a little to prevent these issues:

1. I removed debug hooks from shared/weak_ptr's
2. I moved sp_counted_base code to implementation and added mutex
   instantly to it (if I even do not use it).

   So I can change its behavior without affecting the rest of the code.



Boost list run by bdawes at, gregod at, cpdaniel at, john at