tinystr icon indicating copy to clipboard operation
tinystr copied to clipboard

Migrate into ICU4X tree

Open Manishearth opened this issue 2 years ago • 4 comments

Currently tinystr both depends on crates from ICU4X (zerovec) and is depended on by crates from ICU4X (a lot of them). This means that any time zerovec has a breaking change, we need to do a three-step update across repos. At the moment we can do this piecewise, but the moment ICU4X starts using tinystr with the zerovec feature enabled it's going to get worse because it will not be possible to land these changes in the ICU4X tree without doing a pair of cargo publishes first

As the group of people merging to this repo is ICU4X contributors anyway, we should probably just move it into utils/ where it can live alongside zerovec and yoke.

A slight hitch is that this crate is currently Apache/MIT dual licensed, whereas all crates in the ICU4X repo are mandated in having a LICENSE file that states that they are Apache/MIT with ICU/Unicode license applied in places where marked. For this crate, this license file would basically just be stating "this code is Apache/MIT" since we do not have any place where we mark code taken from ICU. We're discussing relaxing some of the requirements here in https://github.com/unicode-org/icu4x/issues/1358, but if we don't want to wait for that issue to be fixed, here's what I propose:

  • This crate be moved into ICU4X utils/
  • The ICU4X LICENSE file is added, however the Cargo.toml stays unchanged and continues to say MIT OR Apache-2.0
  • We can delete LICENSE-APACHE and LICENSE-MIT if desired since their text is contained in the ICU4X license

Thoughts? @sffc @zbraniecki

Manishearth avatar Dec 14 '21 05:12 Manishearth

This blocks zero-copy japanese era data (part of https://github.com/unicode-org/icu4x/issues/1116) since that uses TinyStr

Manishearth avatar Dec 14 '21 05:12 Manishearth

I'd love to donate this crate to ICU4X.

zbraniecki avatar Dec 14 '21 06:12 zbraniecki

¹not tax-deductable

Manishearth avatar Dec 14 '21 06:12 Manishearth

I scheduled the ICU4X Licensing Discussion for December 20.

sffc avatar Dec 14 '21 16:12 sffc