> The Tokio version used is under the MIT license, so those files can't be used under ALv2. MIT code can ship in an ALv2 release but it stays MIT, and the copyright and permission notice have to come with it under teh terms of that license.
Yes. [1] conveys tokio's MIT license in the LICENSE file. [1] https://github.com/apache/asyncband/pull/275 > If fastpool is your code that's fine, but can you confirm you're the sole copyright holder? Any other contributor's copyright isn't yours to grant. It needs a LICENSE entry either way. Also fastpool's README calls it a reimplementation of deadpool, while HISTORY.md says pool is ported from fastpool which is derived from deadpool. One of those should change. Yes. I changed both sides to correct it to a reimplementation of deadpool. The facade and implementation are quite different under different async philosophies [2][3]. [2] https://github.com/apache/asyncband/blob/dd14ff09fb8ed8fdeab5405ad0ca100e11e79449/README.md?plain=1#L112-L116 [3] https://github.com/apache/asyncband/blob/dd14ff09fb8ed8fdeab5405ad0ca100e11e79449/asyncband/src/pool/mod.rs#L113-L208 > that doesn't hold for mutex and rwlock > A reimplementation doesn't reproduce the upstream text. Yes. I keep mutex and rwlock as derived. While they use a different wait queue internally, and RwLock modifies the interface and impls a bit [4], they are almost a derived work. [4] https://github.com/apache/asyncband/pull/61 > semaphore, once_cell These two primitives are reimplemented. Different wait queues impl, different internal state, different lock strategies, and even a different interface. Because they serve similar async primitive use cases, they may look similar at first glance, but the differences show their value. Just like different hash implementations share the same Hasher interface, plus their different fast-path methods. > Knowing where the code comes from is the part I'd like written down. HISTORY.md's list didn't make it into LICENSE, so HISTORY.md being complete doesn't help much on its own. If you know the provenance, please put the full list in LICENSE rather than just what HISTORY.md mentions The origins info is now included in the LICENSE file. But I like your suggestion to just include the history provenance in the LICENSE, although some of them are acknowledgements rather than copyright conveying, it should be fine. > Note that I had mentioned futures-rs and that did not appear in the HISTORY file in this RC. [1] now includes the necessary info that AtomicWaker is a mix of futures-rs and tokio's implementation. > can you confirm you're the sole copyright holder Yes. The single nontrivial contribution that wasn't solely by me is [5], which I still co-authored. But let me see if retaining the fastpool license header would make it easier. [5] https://github.com/fast/fastpool/pull/17 Best, tison. Justin Mclean <[email protected]> 于2026年9月4日周五 12:25写道: > Hi, > > The Tokio version used is under the MIT license, so those files can't be > used under ALv2. MIT code can ship in an ALv2 release but it stays MIT, and > the copyright and permission notice have to come with it under teh terms of > that license. [1] > > On reimplementation, that doesn't hold for mutex and rwlock. mutex/mod.rs, > rwlock/mod.rs and the eight guard files carry Tokio's doc comments word for > word, for example "The priority policy of this read-write lock is fair (or > [write-preferring])" and "if unused the Mutex will immediately unlock". A > reimplementation doesn't reproduce the upstream text. It may well be true > for semaphore, once_cell, oneshot and atomic_waker, as I couldn't find any > Tokio or futures-rs text in those. > > If fastpool is your code that's fine, but can you confirm you're the sole > copyright holder? Any other contributor's copyright isn't yours to grant. > It needs a LICENSE entry either way. Also fastpool's README calls it a > reimplementation of deadpool, while HISTORY.md says pool is ported from > fastpool which is derived from deadpool. One of those should change. > > There isn't a co-existing header in ASF policy. The ASF header doesn't go > on files the ASF doesn't own, and modified third-party files keep the > original header with the modification noted. Where the ASF does hold > copyright in a derivative you can have the ASF header with an attribution > notice, but that's a per-file call based on how much of the original is > left and teh bar should be very high. [2] > > Knowing where the code comes from is the part I'd like written down. > HISTORY.md's list didn't make it into LICENSE, so HISTORY.md being complete > doesn't help much on its own. If you know the provenance, please put the > full list in LICENSE rather than just what HISTORY.md mentions. Note that I > had mentioned futures-rs and that did not appear in the HISTORY file in > this RC. > > Kind regards, > Justin > > 1. https://infra.apache.org/licensing-howto.html#permissive-deps > 2. https://www.apache.org/legal/src-headers.html#3party > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
