Большинство людей, даже те, кто имеет дело с Linux, не вполне понимают разницу между Linux, GNU/Linux и набором инструментов GNU, но эти различия имеют значение, когда вы думаете об определенных типах программных зависимостей.
Linux и GNU
Linux следует из цепочки разработок, которая началась с Unix. Таким образом, большая часть Linux спроектирована так же и может даже содержать код Unix.
GNU, однако, был задуман ее создателем, Ричардом Столлманом, как полностью свободная и независимая операционная система, не использующая ту же кодовую базу или нормы лицензирования, что и Unix или Linux. Это два отдельных проекта. Типа.
GNU/Linux
Проблема проекта GNU, однако, заключается в том, что его ядро - основное программное обеспечение, взаимодействующее с оборудованием и координирующее все остальные приложения - еще не готово к работе. Ядро GNU Hurd, выпущенное в предпроизводственной стадии в 2015 году, все еще не готово к выпуску в прайм-тайм.
Решение? Линукс. Ядро Linux в форме Linux-Libre стало частью проекта GNU. Таким образом, GNU с ядром Linux или GNU/Linux.
Инструментарий GNU
Дистрибутив GNU обычно использует ядро Linux, хотя GNU Hurd остается доступным для тестирования, не являющегося критически важным. Однако то, что отличает дистрибутив GNU от любого другого дистрибутива Linux, - это интеграция цепочки инструментов GNU, серии из нескольких сотен бесплатных программ с открытым исходным кодом, которые поддерживают разработку нового бесплатного программного обеспечения.
Общие элементы цепочки инструментов GNU включают GNU Make, библиотеку GNU C, отладчик GNU и систему сборки GNU.
Другие пакеты GNU
Приложения, включая графические приложения, предназначенные для взаимодействия с конечным пользователем, могут быть частью зонтика GNU, если они следуют философским принципам, установленным Столлманом. Общие приложения семейства GNU включают:
- TexInfo: Язык и программа для отображения технической документации.
- GNU Emacs: система обработки документов.
- GNOME: менеджер рабочего стола, обеспечивающий внешний вид графического пользовательского интерфейса.
- GNU Octave: среда статистики, созданная по образцу Matlab.
- GNU He alth: Электронная медицинская карта для врачей и больниц.
- GnuCash: Система личных финансов.