A Brief History
of the Boost Libraries
It was 1998, the first C++ standard had just been finished, and the C++ committee was entering a period of stability where no major changes could be made for 5 years. The C++ standard library was a mature and focused design, providing general-purpose components and an elegant paradigm, the STL, with which to approach user extensions. It might have seemed a good time to take a rest.
However, Beman Dawes, then chairman of the C++ committee’s library working group, recognized that languages such as Java and Python were growing in popularity precisely because of the ready availability of library components. Some jobs, he argued, were just too hard in C++ — not because of any inherent limitation, but because the right libraries were not available.
Beman gathered a small group from the C++ committee’s library working group to talk about the problem. We knew that libraries are the vehicle for delivering the power of any programming language into the hands of everyday users. We also knew that library development could not sit still for five years if we were to develop the experience needed for the next round of standardization, and that existing C++ library efforts outside the standard seemed too insular to ever be widely known or adopted. So, we decided to start Boost.
Boost was designed with an open process, so that everyone could learn about successful library development as we went along, and so that design rationale would always be available. We decided on a strictly free-for-any-use licensing policy, so that there would be no barriers to adoption. Finally, we agreed that peer review would be an essential part of the system, so that quality and usability would always be maintained.
While striving for consensus as an ideal, Boost ultimately vests the power to make decisions in individuals, so the process never gets bogged down. While Boost libraries are free, design contributions are graciously acknowledged, and authors retain copyright and maintainership, to preserve a sense of ownership and investment.
As a result, Boost is much more than a collection of individual experts: a cultural emphasis on collaboration and inquiry creates an environment where synergies evolve and new insights are discovered. I don’t think any of us expected to become quite so reliant on the Boost libraries in our professional development work, but the Boost libraries have proven themselves to be remarkably useful, versatile, and well-designed. Ten Boost libraries have already been accepted into the next version of the C++ standard.