Biblioteka to zbiór pewnych funkcji wykonywalnych, zawartych w jednym pliku. Mogą one być używane przez wiele programów.
System GNU/Linux w ogromnym stopniu wykorzystuje biblioteki; prawidłowo przygotowany program dla tego systemu nie może mieć postaci jednej binarki, która bezpośrednio wykonuje się na procesorze. Musi korzystać przynajmniej z bibliotek systemowych - które zawierają funkcje niezbędne do komunikacji programu z systemem, oraz do wykonywania się programu.
Takie rozwiązanie ma sporo zalet:
- jeżeli znajdziemy błąd w jakiejś podstawowej funkcji, to wystarczy zmienić jedną bibliotekę, a nie setki programów
- wszystkie programy korzystają z takich samych funkcji podstawowych - a więc działanie całości uruchomionego systemu jest bardziej przewidywalne
- każdy program będzie zajmował mniej miejsca, ponieważ nie będzie dublował funkcji
- znaczne zwiększenie kontroli systemu nad poszczególnymi programami.
Ma to też oczywiście i wady, ale obecnie mają one coraz mniejsze znaczenie:
- konieczność istnienia zainstalowanych w systemie wymaganych przez program bibliotek (jeżeli którejś brakuje, to trzeba dodatkowo ją doinstalować)
Wiele programów ma również biblioteki wykorzystywane tylko przez dany program - taka budowa znacznie ułatwia rozwijanie programu.