-
Notifications
You must be signed in to change notification settings - Fork 177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
webpki-roots is copy-left #478
Comments
Thanks for spotting this! I'm a little reluctant to change the default, in part because rustls/rustls-native-certs#25 means that the platform verifier trusts some untrusted roots, which creates risk of accepting an inappropriate certificate. Also, this would definitely merit a major version bump, because it could break connecting to some sites that would otherwise work. Still, overall the native-certs approach is the one we'd like to take long-term, assuming rustls adds the necessary extension points. What do you think of waiting on this change until rustls has the necessary extension points to use the platform verifier and platform roots, then doing it as a major version bump? |
I agree, @emilk we agree in principle to switch to Would a way forward, for now, be to make a PR that documents the copyleft concerns? |
I understand this is a big change not to be taken lightly, and I trust your judgement on this. I really enjoy the minimal dependencies of Until then I'll be putting this in my [patch.crates-io]
ureq = { git = "https://github.com/emilk/ureq/", branch = "opt-in-webpki-roots" } Thanks for your attention and responses, and for a great crate! |
How about adding a new features to
This would allow users to use
No major version bump required! |
This is not true. MPLv2 is a "weak copyleft" license and it can be used in closed-source codebases without issue. It will not "infect" any larger work which includes MPLv2 licensed code, which is different from GPL / LGPL style copyleft licenses. See "Q1" and "Q11" from the FAQ here
So: is MPLv2 copyleft? Yes. Is that actually a problem? No, because of how permissive the MPLv2's copyleft triggers are - it is not comparable to (L)GPL-style copyleft. Unfortunately (but understandably) it's difficult to capture that nuance in the output of a tool like (I don't object to making |
This adds the following feature: `tls_native_certs = ["native-certs", "rustls"]` This is an alternative to the `tls` feature, that uses `native-certs` instead of `webpki-roots`. Closes algesten#478
Thanks for that clarification @dralley - that really makes this a non-issue as far as I can tell. |
Closed, because MPL-2.0 is |
It definitely is copyleft, but copyleft is unfairly associated with a couple of restrictions that are specific to the GNU licenses and don't apply to all copyleft licenses. |
Thanks for a great library!
https://github.com/rustls/webpki-roots has a copy-left license (MPL-2.0) making it unsuitable for any closed-source use.
webpki-roots
is enabled by thetls
feature in `ureq (a default feature).I suggest we make
rustls-native-certs
the default, andwebpki-roots
opt-in so thatureq
does not create copy-left problems for its users unless they actively opt-in to usingwebpki-roots
.I can make a PR for this change.
PS: this was discovered using
cargo-deny
The text was updated successfully, but these errors were encountered: