Boost logo

Boost Users :

Subject: Re: [Boost-users] Why is there so much co-dependency in Boost? Is there anything to be done about it?
From: Nat Linden (nat_at_[hidden])
Date: 2012-09-04 09:23:00


On Mon, Sep 3, 2012 at 1:43 AM, steve_at_[hidden]
<steve_at_[hidden]> wrote:

> Right now I'm working for a company that worries a lot about negative
> exposure to Open Source software issues such as questions that might arise
> about authorship, copyright or even patent issues. The company does allow
> the use of Open Source software, but it requires that each piece of code
> that is brought in first be justified and vetted.

I, too, used to work for a company that fretted about such things. In
my case the problem became moot when I left to work at a more
reasonable company.

> I'm writing this request in the hopes that there's something I'm missing
> here, and that someone can point out my folly. Is there a way to utilize
> any of these Boost modules in such a way that they do not require the
> inclusion of so much code? If not, does anyone have any suggestions as to
> how to make this fly with my boss? Has this issue come up before and been
> considered by the Boost designers? I find the issue baffling.

I'd like to defend Boost library authors (no central group of
designers, btw). The process is just as you've seen in this mailing
list. An author builds a library and proposes it for inclusion in
Boost. Once a review manager steps forward, the library is offered for
review. Often the library is modified to satisfy review feedback; but
in due course it is accepted into Boost by consent of the community.

Those of us who already use and appreciate Boost are the ones most
likely to submit a library for consideration. Why would any one of us
refrain from using valuable Boost features in building that new
library? We are programmers trying to solve a technical problem, not
lawyers inventing doomsday scenarios.

Just as with the recent evolution of the C++ language itself, many of
the most powerful Boost libraries are specifically designed to make it
easier to build other libraries. When Boost offers support that cannot
readily be licensed elsewhere -- support that would be prohibitively
expensive to rebuild from scratch! -- a good engineer will leverage
it. Good engineering involves reusing available technology rather than
reinventing it. Forbidding engineers from using available technology
is the opposite of good engineering.

It is far from surprising to me that Boost libraries heavily use other
Boost libraries. That seems entirely appropriate.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net