Search code examples
c++booststandard-library

Boost dependency for a C++ open source project?


Boost is meant to be the standard non-standard C++ library that every C++ user can use. Is it reasonable to assume it's available for an open source C++ project, or is it a large dependency too far?


Solution

  • Basically your question boils down to “is it reasonable to have [free library xyz] as a dependency for a C++ open source project.”

    Now consider the following quote from Stroustrup and the answer is really a no-brainer:

    Without a good library, most interesting tasks are hard to do in C++; but given a good library, almost any task can be made easy

    Assuming that this is correct (and in my experience, it is) then writing a reasonably-sized C++ project without dependencies is downright unreasonable.

    Developing this argument further, the one C++ dependency (apart from system libraries) that can reasonably be expected on a (developer's) client system is the Boost libraries. I know that they aren't but it's not an unreasonable presumption for a software to make.

    If a software can't even rely on Boost, it can't rely on any library.