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 gitorious.org and
> start a
> boost stable branch yourself? It would probably need some
> 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 acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk