In computer science, a shared library is a collection of non-volatile resources used by computer programs, often for software development. These may include shared data, documentation, and pre-written code that may be common across many projects and therefore does not need to be recreated.