Vendoring
Vendoring is a software development practice where external dependencies (e.g., libraries, frameworks) are copied directly into a project's source code repository rather than being fetched from a package manager at build time. This ensures that the project uses specific, known versions of dependencies, making builds reproducible and independent of external network availability or changes. It is commonly used in environments requiring high stability, such as enterprise applications or embedded systems.
Developers should use vendoring when they need to guarantee build reproducibility, avoid dependency on external package repositories, or ensure compatibility in offline or air-gapped environments. It is particularly valuable for long-term projects where dependency updates might introduce breaking changes, or in regulated industries where auditability and control over third-party code are critical. However, it increases repository size and requires manual updates.