This question is inevitably going to lead to highly opinionated answers - so I'll give you my opinion. Boost is, by and large, an excellent library. It's so excellent, some of it has been standardized into the std
namespace in C++1x.
That said, just dumping all of Boost into your roster of available libraries is somewhat dangerous. Firstly, many of the best and most widely used Boost libraries, such as boost::shared_ptr, boost::thread, boost::function, etc. are being made standard in C++1x anyway, making the Boost versions superfluous in the near future.
Secondly, many of the Boost libraries require a large time investment to become familiar with, and can be quite jarring to people who have to maintain such code without having spent time studying the library. Boost.Phoenix is an obvious example - it basically introduces an entirely different programming style into C++, and if you're not familiar with it (or the various hilariously obtuse compiler errors it will throw your way) it can be daunting to maintain code which uses it. (Also, arguably, things like Boost.Lambda and Boost.Phoenix are somewhat superfluous after C++1x built-in lambda support.)
Also, despite the fact that Boost is open-source, a lot of the source code may as well be a black box. It's incredibly difficult to understand without putting in some serious time studying it, largely due to all of the preprocessor hacks it uses to get older compilers to behave. (Only in Boost do you find macros used to make templates.) You might not care about the source, but believe it or not I have found valid bugs in Boost before, and I was only able to issue a bug-report after carefully examining the source code for a few days.
The best approach is to use Boost selectively. For example, if you need to do some linear algebra or matrix manipulation, Boost.UBLAS is an excellent choice. Boost also provides some useful small libraries which provide you with convenient syntactic sugar, like boost::lexical_cast
. But you and your team really need to sit down and carefully decide which libraries in Boost will help you out, and which should be avoided. In my opinion, it's a bad idea to simply tell developers that they can just use any Boost library they feel like at the moment.