
Quoting John Maddock <john@johnmaddock.co.uk>:
Software does not spring full-blown from someone's forehead; it is a process of discovery and refinement. Interfaces follow that same path.
True enough, but it's still good manners to try and preserve source-compatibility even if binary-compatibility can't be preserved.
And those two conflicting aims are why big projects always end up with a formalized deprecation procedure. Progress can be made, but users aren't stomped on too hard. I like how the Spirit developers are using BOOST_VERSION to control when warnings re the Spirit.V1 namespace move will appear. Perhaps that method could form the baseline to any more formal Boost deprecation procedure that may result from this discussion. Pete