25. srpna 1991, po pěti měsících vývoje, 21letý student Linus Torvalds oznámil na konferenci comp.os.minix vytvoření pracovního prototypu nového operačního systému Linux, u něhož bylo oznámeno dokončení portování bash 1.08 a gcc 1.40. První veřejné vydání jádra Linux bylo představeno 17. září. Jádro 0.0.1 mělo velikost 62 KB ve zkomprimované podobě a obsahovalo přibližně 10 tisíc řádků zdrojového kódu. Moderní jádro Linux obsahuje více než 30 milionů řádků kódu. Podle studie provedené v roce 2010 pro Evropskou unii by přibližná cena vývoje projektu podobného modernímu jádru Linux od nuly přesáhla miliardu dolarů (výpočet byl proveden, když mělo jádro 13 milionů řádků kódu), podle jiných odhadů to bylo více než 3 miliardy.
Jádro Linux bylo vytvořeno pod vlivem operačního systému MINIX, který Linuse nespokojoval svou omezenou licencí. Později, když se Linux stal známým projektem, jeho nepřátelé se snažili obvinit Linuse z přímého kopírování kódu některých subsystémů MINIX. Útok odrazil Andrew Tanenbaum, autor MINIX, který přikázal jednomu ze studentů provést podrobnou analýzu kódu mezi MINIX a prvních veřejných verzí Linuxu. Výsledky výzkumu ukázaly pouze čtyři nevýznamná shodná místa v kódu, daná požadavky POSIX a ANSI C.
Původně Linus zamýšlel nazvat jádro Freax, od slov „free“, „freak“ a X (Unix). Ale název „Linux“ jádro získalo díky Ari Lemmke, který na Linusovu žádost umístil jádro na FTP server univerzity a nazval adresář s archivem nejen „freax“, jak požadoval Torvalds, ale „linux“. Pozoruhodné je, že podnikavý obchodník William Della Croce se podařilo zaregistrovat ochrannou známku Linux a chtěl v průběhu času vybrat licenční poplatky, ale později si to rozmyslel a všechny práva na ochrannou známku předal Linusovi. Oficiální maskot jádra Linux, tučňák Tux, byl vybrán v důsledku soutěže, která se konala v roce 1996. Jméno Tux je pochopeno jako Torvalds UniX.
Dynamika růstu kódové základny (počet řádků zdrojového kódu) jádra:
- 0.0.1 — září 1991, 10 tisíc řádků kódu;
- 1.0.0 — březen 1994, 176 tisíc řádků kódu;
- 1.2.0 — březen 1995, 311 tisíc řádků kódu;
- 2.0.0 — červen 1996, 778 tisíc řádků kódu;
- 2.2.0 — leden 1999, 1.8 milionu řádků kódu;
- 2.4.0 — leden 2001, 3.4 milionu řádků kódu;
- 2.6.0 — prosinec 2003, 5,9 milionu řádků kódu;
- 2.6.28 — prosinec 2008, 10,2 milionu řádků kódu;
- 2.6.35 — srpen 2010, 13,4 milionu řádků kódu;
- 3.0 — srpen 2011, 14,6 milionu řádků kódu.
- 3.5 — červenec 2012, 15,5 milionu řádků kódu.
- 3.10 — červenec 2013, 15,8 milionu řádků kódu;
- 3.16 — srpen 2014, 17,5 milionu řádků kódu;
- 4.1 — červen 2015, 19,5 milionu řádků kódu;
- 4.7 — červenec 2016, 21,7 milionu řádků kódu;
- 4.12 — červenec 2017, 24,1 milionu řádků kódu;
- 4.18 — srpen 2018, 25,3 milionu řádků kódu.
- 5.2 — červenec 2019, 26,55 milionu řádků kódu.
- 5.8 — srpen 2020, 28.4 milionu řádků kódu.
- 5.13 — červen 2021, 29.2 milionu řádků kódu.
- 5.19 — srpen 2022, 30.5 milionu řádků kódu.
Pokrok ve vývoji jádra:
- Linux 0.0.1 — září 1991, první veřejné vydání, podporující pouze CPU i386 a spouštějící se z disket;
- Linux 0.12 — leden 1992, kód začal být distribuován pod licencí GPLv2;
- Linux 0.95 — březen 1992, zajištěna možnost spuštění X Window System, realizována podpora virtuální paměti a swapového prostoru.
- Linux 0.96-0.99 — 1992-1993, začala práce na síťovém zásobníku. Představena souborová systém Ext2, přidána podpora formátu souborů ELF, představeny ovladače pro zvukové karty a SCSI řadiče, realizováno načítání modulů jádra a souborového systému /proc.
- V roce 1992 se objevily první distribuce SLS a Yggdrasil. V létě 1993 byly založeny projekty Slackware a Debian.
- Linux 1.0 — březen 1994, první oficiálně stabilní vydání;
- Linux 1.2 — březen 1995, významné zvýšení počtu ovladačů, podpora platforem Alpha, MIPS a SPARC, rozšíření schopností síťového zásobníku, vznik paketového filtru, podpora NFS;
- Linux 2.0 — červen 1996, podpora vícera procesorových systémů;
- Březen 1997: založen LKML, mailing list vývojářů jádra Linux;
- 1998: spuštěn první cluster na bázi Linuxu, který se dostal na seznam Top500, složený z 68 uzlů s CPU Alpha;
- Linux 2.2 — leden 1999, zvýšena účinnost správy paměti, přidána podpora IPv6, realizován nový mezirezortní firewall, představena nová zvuková subsystém;
- Linux 2.4 — únor 2001, zajištěna podpora osmi procesorových systémů a 64 GB RAM, souborový systém Ext3, podpora USB, ACPI;
- Linux 2.6 — prosinec 2003, podpora SELinux, nástroje pro automatické ladění parametrů jádra, sysfs, přepracovaný systém správy paměti;
- V roce 2005 byl představen hypervizor Xen, který otevřel éru virtualizace;
- V září 2008 byl vydán první release platformy Android, založené na jádře Linux;
- V červenci 2011 bylo po deseti letech vývoje větve 2.6.x přejato na číslování 3.x. Počet objektů v Git repozitáři dosáhl 2 milionů;
- V roce 2015 byla vydána jádro Linux 4.0. Počet git objektů v repozitáři dosáhl 4 miliony;
- V dubnu 2018 byl překonán milník 6 milionů git objektů v repozitáři jádra.
- V lednu 2019 byla vytvořena větev jádra Linux 5.0. Repozitář dosáhl úrovně 6,5 milionu git objektů.
- Publikované jádro 5.8 v srpnu 2020 se stalo největším co do počtu změn ze všech jader za celou dobu existence projektu.
- V jádře 5.13 byl stanoven rekord počtu vývojářů (2150), jejichž změny byly zahrnuty do jádra.
- V roce 2021 byl do větve jádra Linux-next přidán kód pro vývoj ovladačů v jazyce Rust. Pracuje se na zahrnutí komponent pro podporu Rust do hlavní části jádra.
- V srpnu 2022 byla vytvořena větev jádra Linux 6.0, protože ve větvi 5.x se nahromadilo dostatečné množství vydání pro změnu prvního čísla ve verzi.
68 % všech změn v jádru bylo provedeno 20 nejaktivnějšími společnostmi. Například při vývoji jádra 5.19 bylo 10.9 % všech změn připraveno společností Intel, 5.7 % — Linaro, 5.5 % — AMD, 5.2 % — Red Hat, 4.1 % — Google, 3.5 % — Meta, 3.1 % — SUSE, 2.9 % — Huawei, 2.8 % — NVIDIA, 2.7 % — Oracle. 11.8 % změn bylo připraveno nezávislými účastníky nebo vývojáři, kteří se jasně neohlásili o své práci pro konkrétní společnosti. Počet přidaných řádků kódu do jádra 5.19 vede společnost AMD, jejíž podíl činil 37.9 % (ovladač amdgpu má více než 4 miliony řádků kódu, z nichž většina je tvořena automaticky generovanými hlavičkovými soubory s údaji pro registry GPU).
Zdroj: opennet.ru
