On Mon, Sep 3, 2012 at 1:43 AM, steve@parisgroup.net
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.