This document discusses managing software dependencies and supply chains. It provides perspectives from commercial and open-source development. While dependencies can lower costs by reusing code, they also introduce risks around licensing, quality, security, build times, packaging, and keeping dependencies up to date. Best practices for managing dependencies include thinking critically about new dependencies, continuous integration and testing, using package managers, keeping dependencies up to date, investing in dependent libraries, and containerization for packaging.