Depot is a software management tool providing a simple, yet flexible, mechanism for maintaining third party and locally developed software in large heterogeneous computing environments. Depot integrates separately maintained software packages, known as collections, into a common directory hierarchy consisting of a union of all the collections. This common directory is defined as the software environment. A set of configuration options manages interactions and intersections between collections in the environment. Depot facilitates the introduction, update, and removal of collections in a software environment. Custom environments and complete test environments can be easily created for individual machines or for sets of machines. Collections with unexpected problems can be replaced with previous versions or simply removed. Individual collections or files can be moved from remote filesystems to the local disks of workstations without the worry that the files may become stale. All this is achieved with minimal wasted disk space and administrative overhead.