Boost logo

Boost :

From: Zach Laine (whatwasthataddress_at_[hidden])
Date: 2020-06-20 21:35:01


On Sat, Jun 20, 2020 at 3:10 AM Andrey Semashev via Boost
<boost_at_[hidden]> wrote:
>
> On 2020-06-20 01:58, Zach Laine via Boost wrote:
> > On Wed, Jun 17, 2020 at 11:31 AM Peter Dimov via Boost
> > <boost_at_[hidden]> wrote:
> >>
> >> Phil Endecott wrote:
> >>
> >>> If users of Boost.Text need to include that in their products' smallprint,
> >>> your docs should make that clear.
> >>
> >> A Boost library is not allowed to mandate this from users, regardless of
> >> whether its docs make it clear. Such a requirement is a hard blocker, a
> >> library like that can't be distributed in a Boost release. Or is not
> >> supposed to be, anyway.
> >
> > Of course, and I don't think Boost.Text actually imposes any such
> > requirement. Boost.Locale also uses ICU headers and links to ICU, and
> > neither shows the Unicode copyright, nor requires its users to do so.
>
> Boost.Locale is different in two respects:
>
> 1. The dependency on ICU is optional. Users can use Boost.Locale with
> other backends, and I believe one of these backends doesn't add any
> dependencies but the standard C++ library.
>
> 2. Even if you use ICU backend, Boost.Locale code is still covered by
> BSL. Whatever the additional requirements on the user, they are coming
> from ICU, not Boost, and per p.1 the user is in control of this.
>
> If Boost.Text offered the same kind of flexibility then this would be
> much less of an issue.
>
> On this note I'm going to ask something probably obvious, but still:
>
> 1. Why do you have to embed ICU code or data in Boost.Text? Why can't
> you link with it?

Because that implies a 20% slowdown (more, in cases where you're not
using the exact pointer types used by ICU), and of course a dependency
on ICU.

> 2. Is it possible to implement the ICU part locally, in Boost.Text, and
> cover that implementation with BSL?

I don't know. I think that requires a "clean room reimplementation",
or it's legally no different in many places.

Zach


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk