Another huh from me. Or maybe I’m missing something, because this should all be obvious.
The source of the standard library is a rustup component that everyone should have installed. As for crates, you don’t have to manually download any sources. Just add the crate as a dependency, and jump around definitions as much as you like. You can remove the dependency later if you decide to not use it.
The most important part of curl is the library, not the CLI tool. And the TLS backend is very much relevant due to varying features supported, different licenses involved, and varying levels of ease when it comes to building and distribution.
That’s when you’re providing binaries. Otherwise, you would have to be wary of potential compatibility issues with
libcurl
packages provided by different Linux distributions for example.See CURLOPT_ECH for a recent and still evolving example of this.