Historically, through the pioneering efforts of Heroku, the management of Ruby (the programming language) dependencies were merged with the base operation system image, called a stack in the Heroku world. On Cloud Foundry, this is called a stemcell. It was later identified that, by separating the Ruby dependencies into a component called Buildpacks, they were able to iterate quickly on the Ruby dependencies relative to the operating system image. In essence, a buildpack is the runtime and framework support for an application.
For most applications that are built on a framework, dependencies and runtime frameworks are usually required to be shipped with the application, or they are installed on the target platform where applications are to be run on. Some examples include the .NET Framework and Java Runtime. Of course, an alternative is to statically compile all dependencies into a single executable binary, if there is an option, but this would usually result in...