Як правило, те, що ми зазвичай називаємо Операційною системою, - це комбінація програмного забезпечення, що включає ядро , завданням якого є управління ресурсами машини та деякими програмами, які працюють над ядром, що називається userland (це містить браузери, компілятори, читачів pdf, нічого, що не є ядром, драйвером або, можливо, гіпервізором vm).
На решту цього питання неможливо відповісти без якогось історичного контексту. Річард Сталлман оприлюднив проект GNU 27 вересня 1983 року. Метою було забезпечення програмного забезпечення, необхідного для розробки операційної системи на зразок UNIX (та супроводжуючої користувача) як вільного програмного забезпечення . До 1992 року проект GNU виконав майже всі фрагменти, необхідні для їх програмного забезпечення - крім одного: ядра. У той же час Лінус Торвальдс випустив своє ядро Linux (версія 0,12) як безкоштовне програмне забезпечення, що має ліцензію за ліцензією GPL . Отже, вперше можна було запустити комп'ютер, що складається майже (майже) з вільного програмного забезпечення.
Linux (як уже згадувалося) є ядром , і, хоча це головна база програмного забезпечення, що дозволяє користуватися своїм комп'ютером, це не дуже корисно. Ви повинні з’єднати його з якимось додатком (userland) для запуску. Саме так роблять дистрибутиви GNU / Linux на зразок Debian або Ubuntu тощо.
Варто зазначити, що ядро одночасно є важливим і неважливим. Дозвольте мені пояснити. Більшість людей, які користуються комп’ютером, звикли до області користування, а не до ядра. Ядро здебільшого прозоре, і більшість людей використовуватиме інше ядро з тією ж землею користувача, і навіть не може помітити різницю (якщо, звичайно, вони не залежать від функції, яку надає певне ядро).
Тому, використовуючи Linux , ви справді використовуєте реалізацію операційної системи GNU; це ядро Linux та країна користувача GNU (GNOME, колекція компілятора GNU, відладчик GNU, GNU Coreutils, бітути GNU тощо). Тому FSF наполягає на тому, щоб називати це GNU / Linux (на мій погляд, справедливий запит).
Ви, звичайно, можете використовувати Linux без GNU userland (підказка: Android, Busybox ) і, звичайно, використовувати GNU userland на інших ядрах (kfreebsd, hurd тощо).
Що стосується Unix з відкритим кодом тощо, це питання, яке може спричинити небагато сперечань. Однак ви можете знайти тут корисну інформацію