Now that the Makefiles have been removed, we can start using packages from crates.io
in the Rust distribution itself. Hooray!
There are some details, however. I've sent in the first PR to do this; it replaces
mdBook. However, there's a small issue: not everything is MIT/Apache2 licensed.
Specifically, there are two issues:
- The stuff that's MIT licensed is not also Apache-2 licensed.
- This introduces MPL'd code.
Historically, first-party code in the repo has been MIT/Apache-2 and third-party code is under some permissive license (including LLVM, hoedown, miniz, compiler-rt). In addition, there are a number of other exceptions; for example, Cargo uses libgit2, which is GPL'd (with a linking exception). We don't want to dilute the dual licensing to the extent we can avoid it, and we definitely need to be careful about what we do with copyleft code (e.g. all runtime components must remain permissively-licensed). There is some small amount of wiggle room here though, in that mdbook is not a tool that we redistribute, and not code that gets linked into anything. These details have been enough to assuage the fears of some people I've talked to, but we also felt it's better to ask everyone how they feel about this.
So: does the inclusion of an MPL'd tool bother you? Should we require that all code, no matter what, be MIT/Apache-2 licensed in order
to be elligible to be used in the Rust distribution?