25 серпня 1991 року після п'яти місяців розробки 21-річний студент Лінус Торвальдс оголосив у телеконференції comp.os.minix про створення робочого прототипу нової операційної системи Linux, Для якої було відзначено завершення портування bash 1.08 та gcc 1.40. Перший публічний випуск ядра Linux було представлено 17 вересня. Ядро 0.0.1 мало розмір 62 Кб у стислому вигляді та містило приблизно 10 тисяч рядків вихідного коду. Сучасне ядро Linux налічує близько 44 млн. рядків коду.
Ядро Linux було створено під враженням від операційної системи MINIX, яка не влаштовувала Лінуса своєю обмеженою ліцензією. Згодом, коли Linux став відомим проектом, недоброзичливці намагалися звинуватити Лінуса у прямому копіюванні коду деяких підсистем MINIX. Напад відбив Ендрю Таненбаум, автор MINIX, який доручив одному зі студентів провести детальне порівняння коду Minix та перших публічних версій Linux. Результати дослідження показали наявність лише чотирьох несуттєвих збігів блоків коду, зумовлених вимогами POSIX та ANSI C.
Спочатку Лінус задумав назвати ядро Freax, від слів "free", "freak" та X (Unix). Але ім'яLinux» Ядро отримало з легкої руки Арі Лемке (Ari Lemmke), який на прохання Лінуса розмістив ядро на FTP-сервері університету, назвавши директорію з архівом не «freax», як просив Торвальдс, а «linux». Примітно, що заповзятливий ділок Вільям Делло Крок (William Della Croce) зумів зареєструвати торгову марку Linux і хотів згодом збирати відрахування, але пізніше передумав і передав усі права на торгову марку Лінусу. Офіційний талісман Linux-Ядра, пінгвін Tux, був обраний в результаті змагання, що відбулося у 1996 році. Ім'я Tux розшифровується як Torvalds UniX.
Динаміка зростання кодової бази (кількість рядків вихідного коду) ядра:
- 0.0.1 - вересень 1991, 10 тис. рядків коду;
- 1.0.0 - березень 1994, 176 тис. рядків коду;
- 1.2.0 - березень 1995, 311 тис. рядків коду;
- 2.0.0 - червень 1996, 778 тис. рядків коду;
- 2.2.0 - січень 1999, 1.8 млн. рядків коду;
- 2.4.0 - січень 2001, 3.4 млн. рядків коду;
- 2.6.0 - грудень 2003, 5.9 млн. рядків коду;
- 2.6.28 - грудень 2008, 10.2 млн. рядків коду;
- 2.6.35 – серпень 2010, 13.4 млн. рядків коду;
- 3.0 – серпень 2011, 14.6 млн. рядків коду;
- 3.5 – липень 2012, 15.5 млн. рядків коду;
- 3.10 – липень 2013, 15.8 млн. рядків коду;
- 3.16 – серпень 2014, 17.5 млн. рядків коду;
- 4.1 – червень 2015, 19.5 млн. рядків коду;
- 4.7 – липень 2016, 21.7 млн. рядків коду;
- 4.12 – липень 2017, 24.1 млн. рядків коду;
- 4.18 – серпень 2018, 25.3 млн. рядків коду;
- 5.2 – липень 2019, 26.55 млн. рядків коду;
- 5.8 – серпень 2020, 28.4 млн. рядків коду;
- 5.13 – червень 2021, 29.2 млн. рядків коду;
- 5.19 – серпень 2022, 30.5 млн. рядків коду;
- 6.4 - червень 2023, 32.9 млн. рядків коду.
- 6.10 - липень 2024, 35.1 млн. рядків коду.
- 6.16 - липень 2025, 40.8 млн. рядків коду.
- 7.2 – серпень 2026, 43.9 млн. рядків коду.
Прогрес розвитку ядра:
- Linux 0.0.1 - вересень 1991, перший публічний випуск, що підтримує тільки CPU i386 і завантажується з дискети;
- Linux 0.12 - січень 1992, код почав поширюватися під ліцензією GPLv2;
- Linux 0.95 - березень 1992, забезпечена можливість запуску X Window System, реалізована підтримка віртуальної пам'яті та розділу підкачування.
- Linux 0.96-0.99 - 1992-1993, почалася робота над мережевим стеком. Представлено файлову систему Ext2, додано підтримку формату файлів ELF, представлено драйвери для звукових карт і контролерів SCSI, реалізовано завантаження модулів ядра та файлової системи /proc.
- У 1992 році з'явилися перші дистрибутиви SLS та Yggdrasil. Влітку 1993 року були засновані проекти Slackware та Debian.
- Linux 1.0 - березень 1994, перший офіційно стабільний реліз;
- Linux 1.2 - березень 1995, істотне збільшення числа драйверів, підтримка платформ Alpha, MIPS і SPARC, розширення можливостей мережевого стека, поява пакетного фільтра, підтримка NFS;
- Linux 2.0 - червень 1996 року, підтримка багатопроцесорних систем;
- Березень 1997: заснований LKML, список розсилки розробників ядра Linux;
- 1998 рік: запущений перший кластер, що потрапив до списку Top500, на базі Linux, Що складається з 68 вузлів із CPU Alpha;
- Linux 2.2 - січень 1999, збільшено ефективність системи управління пам'яттю, додано підтримка IPv6, Реалізовано новий міжмережевий екран, представлена нова звукова підсистема;
- Linux 2.4 - лютий 2001, забезпечена підтримка 8-процесорних систем та 64 Гб ОЗП, файлова система Ext3, підтримка USB, ACPI;
- Linux 2.6 - грудень 2003, підтримка SELinux, засоби автоматичного тюнінгу параметрів ядра, sysfs, перероблена система керування пам'яттю;
- 2005 року представлений гіпервізор Xen, який відкрив еру віртуалізації;
- У вересні 2008 року сформовано перший реліз платформи Android, заснованої на ядрі Linux;
- У липні 2011 року після 10 років розвитку гілки 2.6.x здійснено перехід до нумерації 3.x. Число об'єктів у Git-репозиторії досягло 2 млн;
- У 2015 році відбувся випуск ядра Linux 4.0. Число git-об'єктів у репозиторії досягло 4 млн;
- У квітні 2018 року подолано кордон у 6 млн git-об'єктів у репозиторії ядра.
- У січні 2019 року сформовано гілку ядра Linux 5.0. Репозиторій досяг рівня 6.5 млн git-об'єктів.
- Опубліковане в серпні 2020 року ядро 5.8 стало найбільшим за кількістю змін із усіх ядер за весь час існування проекту.
- У ядрі 5.13 було поставлено рекорд за кількістю розробників (2150), зміни яких увійшли до складу ядра.
- У серпні 2022 року сформовано гілку ядра Linux 6.0, так як у гілці 5.x накопичилося достатнього випуску для зміни першого числа в номері версії.
- У ядро 6.1, випущене в грудні 2022 року, додано можливість використання мови Rust як другої мови для розробки драйверів та модулів ядра.
- У лютому 2025 року досягнуто позначки 40 млн рядків вихідного коду.
- Підтримка Rust переведена з експериментальних в основні можливості ядра Linux.
- У 2026 році відзначено просування використання AI-інструментів для налагодження, рецензування змін, виявлення помилок та розробки виправлень у ядрі. Серед іншого AI почав застосовувати Лінус Торвальдс, наприклад, днями для виявлення причин проблем у драйвері Intel Xe.
Близько 65% всіх змін до ядра внесено 20 найактивнішими компаніями. Наприклад, при розробці ядра 7.1 з усіх змін 9.1% (рік тому в ядрі 6.16 було 11.3%) підготовлено компанією Intel, 7.7% (6.3%) – Google, 5.2% (5.4%) – AMD, 5.0% (3.6%) – Qualcomm, 4. (2.4%) – NVIDIA, 3.4% (2.9%) – Meta, 2.9% (3.0%) – SUSE, 2.5% (2.9%) – Oracle, 2.1% (2.3%) – ARM, 1.4% (1.4%) – IBM, 1.3% (2.4%). 18% (15.3%) змін підготовлено незалежними учасниками або розробниками, які явно не заявили про свою роботу на певні компанії. За кількістю доданих в ядро 7.1 рядків коду лідирують компанії Meta, AMD і Qualcomm, частка яких склала 15.8%, 13.8% і 7.6% (в ядрі 6.16 лідирували Intel, Red Hat і Google, частка яких склала 9.2%, 7.2%).
Джерело: opennet.ru
