
On 03/21/2010 12:24 AM, Vladimir Prus wrote:
Andrey Semashev wrote:
3. Monolithic design. =====================
This matter has already been discussed, and others have made the suggestions, so I'll just express my thoughts of improving things.
Could you clarify what exactly is the problem with monolithic design? Is that merely that "Boost is too big" and it makes it harder to add it as dependency for a project?
As a user, I constantly find myself excluding parts of Boost from building. There are many header-only components I also don't use. Overall, my estimations is that I use no more than 50% of libraries. So I want to be able to exclude the unneeded part. As a developer, I would like to be able to ship releases as often as needed, not necessarily bound to the current release schedule of Boost. I also think that the monolithic design limits the appearance of new libraries in Boost, as it implies the same quality standards on the well established libraries and the new coming ones. Some performance problems of SVN and Trac have been identified by users. I think, they resulted from centralized storage of Boost artifacts (which are the source code and tickets). Some have concerns about testing results turnaround. Since now the whole Boost should be tested as a whole, that problem will grow bigger over time. A modular approach would allow each tester to run tests only for one or several libraries and thus produce the results more often.