+Bibliotecas
+
+Dentre as diversas boas práticas de desenvolvimento de software está o
+reuso. Trata-se do velho ditado de não "reiventar a roda". Quando um
+conjunto de rotinas/funções/métodos de software compreendem uma
+funcionalidade em particular, uní-las em uma biblioteca que possa ser
+reutilizada é uma boa prática.
+
+Por exemplo, quando um reprodutor de áudio é desenvolvido, partes do
+software são escritas para decodificar os diversos formatos em que áudio
+é codificado hoje em dia. Decodificar áudio, no entanto, é útil para
+softwares diferentes de reprodutores de áudio, como editores,
+analisadores, tratadores, conversores, etc. Portanto, escrever o
+decodificador apenas uma vez em forma de biblioteca para que possa ser
+reutilizado nesses vários softwares é mais interessante que reescrever o
+decodificador para cada software.
+
+
+Bibliotecas Compartilhadas
+
+Entre as várias maneiras de reutilizar essa biblioteca é, em tempo de
+compilação, incluir o código em seu software. No entanto, isso significa
+que cada software que utilize a biblioteca inclui uma cópia em disco e,
+no caso de sua carga, em memória do código da biblioteca.
+
+O compartilhamento dinâmico de bibliotecas permite que cada software
+compilado faça as referências necessárias ao código da biblioteca sem,
+no entanto, incluir o seu código. Dessa forma, a biblioteca é buscada e
+carregada pelo carregador de programas. Assim, espaço em disco e,
+eventualmente, em memória, pode ser compartilhado entre os vários
+programas que fazem uso da biblioteca.
+
+Outra possível vantagem do compartilhamento de bibliotecas é a
+atualização da biblioteca, independente da atualização dos softwares que
+a utilizam.
+
+
+Versões de Interfaces de Bibliotecas
+
+Um cuidado muito importante, no entanto, na atualização de bibliotecas é
+que os softwares utilizam interfaces definidas pela biblioteca, que
+chamamos de API (Application Programming Interface) e ABI (Application
+Binary Interface). Se a ABI de uma biblioteca muda, é necessário a
+recompilação do software. Se sua API muda, é necessário a atualização
+(modificação) do código do software.
+
+Portanto, veremos que a atualização de bibliotecas não pode ser feita
+sem tomarmos o devido cuidado de verificarmos a necessidade de
+recompilação ou atualização dos softwares que a utilizam.