|
The default behavior of cargo is to download stuff from the internet. This may be the least reproducible thing ever. I'm honestly astonished that programmers of a language that is deemed to be "safe by default" thought that this behavior was acceptable in any form, not to say the default. If downloading things at build time is somehow necessary, it should be an obscure option behind a flag with a scary name, like --extremely-unsafe-i-know-what-i-am-doing, that prompted the user with a small turing test every time that it is run. Cargo is just bonkers, it doesn't matter at all if it is "convenient" or not. Convenience before basic safety and reproducibility is contrary to the spirit of the language itself. It's as if bounds checking in the language was deferred to a third party that you need to "trust" in order to believe that you won't have segmentation faults. |
Edit: for things like the kernel, vendoring dependencies is still probably not a bad idea, of course