Sorry for getting your blood boiling . I’m writing this crate for Rust bindings to the UEFI programming environment – think of it as the stdlib for UEFI. As a part of this crate I want to provide
io::Write traits similar to those found in stdlib and I want to implement some of the non-required methods in these traits (such as
read_to_end()) . To this end, is it okay if I simply copy the equivalent code from stdlib and paste in my crate?
I know this looks questionable – and hence this question – but as I see it in a way my work more or less amounts to supporting a new platform in Rust (UEFI in this case) and it should be okay if this new platform uses the same code that other platforms do. Since this platform is
no_std the only way I can implement parts of stdlib here is to copy-paste the code.
To be sure my own crate is licensed with an MIT license just like the rustlang repo. So in a way, by providing the text present in my own MIT license, I’m fulfilling the demands of rustlang’s MIT license since it’s almost the same text as required by the rustlang’s.
If this is not the right way, what options do I have?