Boost logo

Boost :

From: William E. Kempf (wekempf_at_[hidden])
Date: 2003-06-03 08:41:00

Stefan Seefeld said:
> Vincent Finn wrote:
>>> What I did was to provide a *thin* wrapper around the internal C
>>> strucs used by libxml2, so every dom manipulation call can be
>>> delegated down to libxml2. For example xpath lookup: I call libxml2's
>>> xpath API, returning me a C structure (possibly) holding a node set,
>>> i.e. a list of C nodes. I just need to map these C structs back to my
>>> C++ wrapper objects and I'm done with it. (Luckily for me, libxml2
>>> provides all the hooks to make that lookup very efficient...)
>> One problem would be the licence
>> libxml2 is a Gnu project isn't it?
>> that means it's under the Gnu licence which is far more restrictive
>> than the boost licence
> there is no such thing as the 'Gnu licence'. There is the 'GNU General
> Public License' (aka GPL) and the 'GNU Lesser General Public License'
> (LGPL). libxml2 uses neither, and its license is fully compatible with
> boost's license requirements.

Maybe, but it fails the Boost Library Guidelines:

"Use the C++ Standard Library or other Boost libraries, but only when the
benefits outweigh the costs. Do not use libraries other than the C++
Standard Library or Boost. See Library reuse (edit:"

If a submitted library required libxml2, I'd personally vote no. If the
interface was supposed to be portable to other backends, I'd probably
still vote no unless at least one other backend was included as proof of
concept. It would still be nice to have a Boost supplied backend,
probably via Spirit, but so long as I was confident that I was not tied to
any specific non-Boost library, it wouldn't matter that much.

William E. Kempf

Boost list run by bdawes at, gregod at, cpdaniel at, john at