tinystr
tinystr copied to clipboard
Migrate into ICU4X tree
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 publish
es 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
This blocks zero-copy japanese era data (part of https://github.com/unicode-org/icu4x/issues/1116) since that uses TinyStr
I'd love to donate this crate to ICU4X.
¹not tax-deductable
I scheduled the ICU4X Licensing Discussion for December 20.