Vendoring dependencies can provide quite a bit of freedom: from properly specified versions to clearly defined isolation. There's also some interesting interplay with OS level (or external to the language) dependencies which can be handled with proper package management; see Dependency management for grown ups. This serves as a guide for similar usage across languages.
Research: