Statically linking binaries upon compilation; Dynamically linking binaries upon compilation; Shipping dynamically linked binaries with a piece of software independently of installed packages; creating an application container on top of os-level virtualization with all the dependencies dynamically linked to the software you are trying to run