On 2020-06-20 01:58, Zach Laine via Boost wrote:
On Wed, Jun 17, 2020 at 11:31 AM Peter Dimov via Boost
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? 2. Is it possible to implement the ICU part locally, in Boost.Text, and cover that implementation with BSL?