"Libraries were designed to package similar
functionality in a single unit. These units could then be shared
with other developers and permitted what came to be called modular
programming—that is, building programs from modules. Linux
supports two types of libraries, each with its own advantages and
disadvantages. The static library contains functionality that is
bound to a program statically at compile time. This differs from
dynamic libraries, which are loaded when an application is loaded
and binding occurs at run time."